All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_destroy
      Src: /src/connection_helper.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    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:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    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:52,1
    - Dst: end
      Src: /src/connection_helper.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    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:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    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:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    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:76,1
    - Dst: PickValueInArray
      Src: /src/connection_helper.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    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:82,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:90,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:90,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:91,1
    - Dst: std::string::push_back
      Src: /src/connection_helper.cpp:92,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: pick_http_version
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - ConsumeIntegralInRange
    - std::string::push_back
    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:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' c'
    - min_needed
    argTypes:
    - MHD_Connection
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    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: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    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: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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:164,1
    - Dst: static_cast<enum MHD_ProtocolStrictLevel>
      Src: /src/connection_helper.cpp:165,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:166,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:169,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:170,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ' fdp'
    - ' d'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Daemon
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: init_daemon_connection
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<enum MHD_ProtocolStrictLevel>
    - ConsumeIntegralInRange
    - 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:189,1
    - Dst: static_cast<char*>
      Src: /src/connection_helper.cpp:190,1
    - Dst: mhd_pool_try_alloc
      Src: /src/connection_helper.cpp:190,1
    - Dst: pick_method
      Src: /src/connection_helper.cpp:200,1
    - Dst: pick_http_version
      Src: /src/connection_helper.cpp:201,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:202,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:205,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:206,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:209,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:212,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:215,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:217,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:222,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:224,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:228,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:229,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:229,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:230,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:231,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:231,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:233,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:233,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:238,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:239,1
    - Dst: PickValueInArray
      Src: /src/connection_helper.cpp:240,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:242,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:246,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:248,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:248,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:253,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:257,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:258,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:258,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:264,1
    - Dst: ConsumeIntegral
      Src: /src/connection_helper.cpp:264,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:265,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:268,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:271,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:274,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:276,1
    - Dst: ConsumeIntegral
      Src: /src/connection_helper.cpp:276,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:277,1
    - Dst: std::string
      Src: /src/connection_helper.cpp:279,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:280,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:280,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:286,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:288,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:290,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:291,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:292,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:292,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:294,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:295,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:296,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:298,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:300,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:301,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:301,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:305,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:306,1
    - Dst: EOL
      Src: /src/connection_helper.cpp:306,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:310,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:310,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:311,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:311,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 2
    argNames:
    - ' fdp'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 316
    functionName: init_connection_buffer
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - PickValueInArray
    - std::string::data
    - static_cast<char*>
    - pick_method
    - ConsumeBool
    - mhd_pool_try_alloc
    - std::to_string
    - pick_http_version
    - std::string
    - ConsumeIntegral
    - std::string::size
    - memcpy
    - ConsumeIntegralInRange
    - EOL
    linkageType: ''
    returnType: void
    signature: void init_connection_buffer(FuzzedDataProvider& fdp, MHD_Connection&
      c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:322,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:327,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:329,1
    - Dst: ConsumeBool
      Src: /src/connection_helper.cpp:331,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:338,1
    - Dst: ConsumeIntegralInRange
      Src: /src/connection_helper.cpp:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ' fdp'
    - ' c'
    argTypes:
    - FuzzedDataProvider
    - MHD_Connection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 348
    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:353,1
    - Dst: size
      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: static_cast<char*>
      Src: /src/connection_helper.cpp:356,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/connection_helper.cpp:356,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:360,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:361,1
    - Dst: data
      Src: /src/connection_helper.cpp:361,1
    - Dst: mhd_stream_add_field
      Src: /src/connection_helper.cpp:368,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:370,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:372,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:375,1
    - Dst: empty
      Src: /src/connection_helper.cpp:384,1
    - Dst: std::to_string
      Src: /src/connection_helper.cpp:385,1
    - Dst: add_hdr
      Src: /src/connection_helper.cpp:388,1
    - Dst: mhd_stream_get_request_line
      Src: /src/connection_helper.cpp:393,1
    - Dst: destroy_error_response
      Src: /src/connection_helper.cpp:394,1
    - Dst: mhd_stream_switch_to_rq_headers_proc
      Src: /src/connection_helper.cpp:398,1
    - Dst: mhd_stream_parse_request_headers
      Src: /src/connection_helper.cpp:400,1
    - Dst: destroy_error_response
      Src: /src/connection_helper.cpp:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - ' connection'
    - size
    argTypes:
    - MHD_Connection
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 404
    functionName: prepare_headers_and_parse
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - data
    - mhd_stream_alloc_memory
    - static_cast<char*>
    - mhd_stream_parse_request_headers
    - mhd_stream_get_request_line
    - strlen
    - std::to_string
    - empty
    - destroy_error_response
    - add_hdr
    - mhd_stream_switch_to_rq_headers_proc
    - memcpy
    - size
    - mhd_stream_add_field
    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:408,1
    - Dst: std::string::reserve
      Src: /src/connection_helper.cpp:410,1
    - Dst: size
      Src: /src/connection_helper.cpp:410,1
    - Dst: size
      Src: /src/connection_helper.cpp:410,1
    - Dst: swap
      Src: /src/connection_helper.cpp:416,1
    - Dst: size
      Src: /src/connection_helper.cpp:417,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:422,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:423,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:424,1
    - Dst: snprintf
      Src: /src/connection_helper.cpp:433,1
    - Dst: std::string::append
      Src: /src/connection_helper.cpp:434,1
    - Dst: std::string::append
      Src: /src/connection_helper.cpp:439,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:443,1
    - Dst: data
      Src: /src/connection_helper.cpp:443,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:446,1
    - Dst: data
      Src: /src/connection_helper.cpp:446,1
    - Dst: append_chunk
      Src: /src/connection_helper.cpp:447,1
    - Dst: data
      Src: /src/connection_helper.cpp:447,1
    - Dst: std::string::assign
      Src: /src/connection_helper.cpp:457,1
    - Dst: data
      Src: /src/connection_helper.cpp:457,1
    - Dst: std::string::size
      Src: /src/connection_helper.cpp:461,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:464,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:464,1
    - Dst: mhd_pool_try_alloc
      Src: /src/connection_helper.cpp:469,1
    - Dst: memcpy
      Src: /src/connection_helper.cpp:471,1
    - Dst: std::string::data
      Src: /src/connection_helper.cpp:471,1
    - Dst: ensure_lbuf_capacity
      Src: /src/connection_helper.cpp:482,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:487,1
    - Dst: mhd_stream_process_request_body
      Src: /src/connection_helper.cpp:488,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:489,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:493,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:494,1
    - Dst: data
      Src: /src/connection_helper.cpp:494,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:495,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/connection_helper.cpp:499,1
    - Dst: mhd_stream_post_parse
      Src: /src/connection_helper.cpp:500,1
    - Dst: mark_post_parse_ready
      Src: /src/connection_helper.cpp:501,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: 504
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 504
    functionName: prepare_body_and_process
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - mhd_stream_post_parse
    - data
    - mhd_stream_process_request_body
    - mhd_pool_try_alloc
    - swap
    - empty
    - std::string::assign
    - std::string::append
    - std::string::size
    - snprintf
    - mark_post_parse_ready
    - append_chunk
    - ensure_lbuf_capacity
    - mhd_stream_prepare_for_post_parse
    - memcpy
    - size
    - std::string::data
    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:508,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/connection_helper.cpp:509,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/connection_helper.cpp:510,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/connection_helper.cpp:514,1
    - Dst: clear_post_parse_ready
      Src: /src/connection_helper.cpp:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' connection'
    - ' daemon'
    argTypes:
    - MHD_Connection
    - MHD_Daemon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 519
    functionName: final_cleanup
    functionSourceFile: /src/connection_helper.cpp
    functionUses: 0
    functionsReached:
    - clear_post_parse_ready
    - mhd_daemon_free_lbuf
    - mhd_stream_process_req_recv_finished
    - mhd_stream_release_write_buffer
    - 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::PickValueInArray
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBool
    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:
    - mkstemp
    - std::vector::reserve
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::string::empty
    - ::write
    - FuzzedDataProvider::ConsumeBool
    - MHD_response_from_buffer_static
    - std::string::size
    - MHD_response_from_iovec
    - MHD_response_from_fd
    - std::min<size_t>
    - FuzzedDataProvider::ConsumeBytesAsString
    - FuzzedDataProvider::ConsumeIntegral
    - std::vector::data
    - std::min<uint64_t>
    - FuzzedDataProvider::remaining_bytes
    - std::string::data
    - std::vector::push_back
    - FuzzedDataProvider::PickValueInArray
    - MHD_response_from_buffer_copy
    - MHD_response_from_pipe
    - pipe
    - std::vector::back
    - std::string::c_str
    - unlink
    - MHD_response_from_empty
    - close
    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:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::PickValueInArray
    - MHD_response_add_header
    - FuzzedDataProvider::ConsumeRandomLengthString
    - FuzzedDataProvider::ConsumeBool
    - safe_ascii
    - MHD_response_add_predef_header
    - std::string::c_str
    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_CONN_CLOSE
    - MHD_R_OPTION_TERMINATION_CALLBACK
    - ToMhdBool
    - MHD_R_OPTION_REUSABLE
    - FuzzedDataProvider::ConsumeBool
    - MHD_R_OPTION_HTTP_1_0_SERVER
    - MHD_R_OPTION_HEAD_ONLY_RESPONSE
    - MHD_R_OPTION_CHUNKED_ENC
    - MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH
    - MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT
    - MHD_response_set_option
    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:
    - ToMhdBool
    - FuzzedDataProvider::ConsumeRandomLengthString
    - FuzzedDataProvider::ConsumeBool
    - safe_ascii
    - MHD_response_add_auth_basic_challenge
    - MHD_response_add_auth_digest_challenge
    - std::string::c_str
    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
    - create_response
    - pick_status_code
    - MHD_response_destroy
    - MHD_status_code_to_string
    - MHD_HTTP_status_code_to_string
    - add_headers
    - randomise_response_options
    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::size
    - std::string::push_back
    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::reserve
    - size
    - std::string::empty
    - std::string::push_back
    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:
    - getsockopt
    - htons
    - fcntl
    - htonl
    - poll
    - close
    - setsockopt
    - 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:
    - ConsumeBool
    - empty
    - realm_hint::empty
    - safe_ascii
    - ConsumeRandomLengthString
    - boundary::empty
    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:
    - b64encode
    - std::string::empty
    - empty
    - std::string
    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
    - empty
    - boundary::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:
    - data
    - append
    - empty
    - std::min
    - snprintf
    - 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
    - send
    - shutdown
    - size
    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:
    - poll
    - recv
    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:
    - append_request_headers
    - std::string::reserve
    - append_headers
    - make_multipart
    - generate_daemon_options
    - std::string::empty
    - empty
    - std::string
    - close
    - std::string::size
    - append_chunked_payload
    - generate_auth_header
    - send_request
    - create_socket
    - size
    - wait_for_response
    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:
    - PickValueInArray
    - ToMhdBool
    - ConsumeBool
    - realm::empty
    - ConsumeRandomLengthString
    - ConsumeIntegralInRange
    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
    - MHD_request_get_post_data_cb
    - ConsumeBool
    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:
    - MHD_action_abort_request
    - allowed_user::size
    - allowed_pass::data
    - MHD_request_get_info_dynamic
    - MHD_action_basic_auth_challenge_a
    - allowed_pass::size
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    - allowed_user::data
    - realm::c_str
    - memcmp
    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:
    - MHD_action_abort_request
    - allowed_user::size
    - MHD_digest_auth_check
    - allowed_pass::c_str
    - MHD_request_get_info_dynamic
    - MHD_action_digest_auth_challenge_a
    - MHD_response_from_buffer_static
    - allowed_user::c_str
    - MHD_action_from_response
    - allowed_user::data
    - realm::c_str
    - memcmp
    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:
    - generate_daemon_req_opts
    - handle_basic_auth
    - handle_digest_auth
    - request_parsing
    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:756,1
    - Dst: MHD_request_get_value
      Src: /src/mhd_helper.cpp:757,1
    - 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_values_cb
      Src: /src/mhd_helper.cpp:760,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd_helper.cpp:761,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd_helper.cpp:762,1
    - Dst: MHD_request_get_post_data_cb
      Src: /src/mhd_helper.cpp:765,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:770,1
    - Dst: MHD_request_get_info_fixed
      Src: /src/mhd_helper.cpp:771,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_dynamic
      Src: /src/mhd_helper.cpp:779,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd_helper.cpp:780,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_response_from_empty
      Src: /src/mhd_helper.cpp:791,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:793,1
    - Dst: MHD_response_add_header
      Src: /src/mhd_helper.cpp:797,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:798,1
    - Dst: MHD_response_destroy
      Src: /src/mhd_helper.cpp:799,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd_helper.cpp:800,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: 801
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 801
    functionName: req_cb_stream
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_request_get_post_data_cb
    - MHD_action_abort_request
    - MHD_request_get_values_cb
    - MHD_request_get_info_fixed
    - MHD_response_destroy
    - MHD_response_add_header
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - MHD_action_from_response
    - MHD_request_get_value
    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:815,1
    - Dst: MHD_request_get_info_fixed_sz
      Src: /src/mhd_helper.cpp:816,1
    - 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_dynamic_sz
      Src: /src/mhd_helper.cpp:823,1
    - Dst: MHD_request_get_info_dynamic_sz
      Src: /src/mhd_helper.cpp:824,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_digest_get_hash_size
      Src: /src/mhd_helper.cpp:843,1
    - Dst: MHD_digest_auth_calc_userdigest
      Src: /src/mhd_helper.cpp:848,1
    - Dst: MHD_digest_auth_check_digest
      Src: /src/mhd_helper.cpp:849,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd_helper.cpp:858,1
    - Dst: MHD_action_from_response
      Src: /src/mhd_helper.cpp:859,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: 860
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 860
    functionName: req_cb_process
    functionSourceFile: /src/mhd_helper.cpp
    functionUses: 0
    functionsReached:
    - MHD_digest_auth_calc_userdigest
    - MHD_request_get_info_dynamic_sz
    - MHD_digest_auth_check_digest
    - MHD_response_from_empty
    - MHD_request_get_info_fixed_sz
    - MHD_digest_get_hash_size
    - MHD_action_from_response
    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*::c_str
    - std::string*::size
    - MHD_response_from_buffer
    - static_cast<const std::string*>
    - 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*
      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:
    - PickValueInArray
    - MHD_digest_auth_calc_userhash
    - std::vector::data
    - MHD_digest_auth_calc_userhash_hex
    - MHD_digest_auth_calc_userdigest
    - std::vector::size
    - MHD_digest_get_hash_size
    - ConsumeRandomLengthString
    - std::string::c_str
    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:
    - remaining_bytes
    - PickValueInArray
    - std::string::data
    - ConsumeBool
    - MHD_response_from_buffer
    - MHD_response_from_empty
    - MHD_response_from_buffer_static
    - std::string::size
    - std::min<size_t>
    - ConsumeIntegralInRange
    - ConsumeBytesAsString
    - std::string::c_str
    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:
    - mkstemp
    - std::string::empty
    - MHD_R_OPTION_REUSABLE
    - std::string::size
    - MHD_response_from_fd
    - ConsumeRandomLengthString
    - PickValueInArray
    - ToMhdBool
    - lseek
    - std::string::data
    - MHD_R_OPTION_CONN_CLOSE
    - ConsumeBool
    - MHD_R_OPTION_HEAD_ONLY_RESPONSE
    - MHD_R_OPTION_CHUNKED_ENC
    - MHD_response_from_pipe
    - pipe
    - write
    - std::string::c_str
    - MHD_response_destroy
    - unlink
    - MHD_response_add_header
    - close
    - ConsumeIntegralInRange
    - MHD_response_set_option
    - MHD_response_add_predef_header
    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
      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:
    - PickValueInArray
    - const_cast<void*>
    - ConsumeBytes
    - static_cast<const void*>
    - MHD_D_OPTION_REREGISTER_ALL
    - ToMhdBool
    - ConsumeBool
    - std::vector::data
    - MHD_daemon_set_option
    - std::vector::size
    - MHD_D_OPTION_BIND_PORT
    - MHD_D_OPTION_RANDOM_ENTROPY
    - MHD_D_OPTION_DEFAULT_TIMEOUT
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_LOG_CALLBACK
    - ConsumeIntegralInRange
    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:
    - remaining_bytes
    - PickValueInArray
    - MHD_daemon_get_info_dynamic
    - MHD_daemon_create
    - MHD_daemon_destroy
    - MHD_daemon_get_info_fixed
    - std::min<size_t>
    - daemon_configuration
    - ConsumeIntegralInRange
    - 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_digest_auth_calc
    - fuzz_response_config
    - fuzz_daemon_lifecycle
    - fuzz_response_creation
    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:
    - mhd_str_equal_caseless_n
    - ConsumeBool
    - mhd_str_starts_with_token_req_param
    - malloc
    - mhd_str_equal_caseless_bin_n
    - mhd_str_remove_token_caseless
    - mhd_str_starts_with_token_opt_param
    - ConsumeIntegral
    - std::string::size
    - std::min
    - free
    - mhd_str_has_token_caseless
    - ConsumeRandomLengthString
    - ConsumeIntegralInRange
    - mhd_str_equal_caseless
    - std::string::c_str
    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:
    - mhd_str_to_uint64
    - mhd_strx_to_uint64
    - mhd_strx_to_uint32_n
    - mhd_uint8_to_str_pad
    - mhd_strx_to_uint32
    - mhd_uint16_to_str
    - mhd_str_to_uint64_n
    - mhd_uint64_to_str
    - std::string::size
    - ConsumeIntegral
    - ConsumeRandomLengthString
    - mhd_strx_to_uint64_n
    - ConsumeIntegralInRange
    - mhd_uint32_to_strx
    - std::string::c_str
    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:
    - mhd_str_pct_decode_lenient_n
    - malloc
    - mhd_str_pct_decode_in_place_lenient
    - mhd_str_pct_decode_strict_n
    - std::string::size
    - free
    - mhd_str_pct_decode_in_place_strict
    - ConsumeRandomLengthString
    - std::string::data
    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_quoted_bin_n
    - mhd_str_unquote
    - malloc
    - mhd_str_quote
    - std::string::c_str
    - std::string::size
    - free
    - ConsumeRandomLengthString
    - mhd_str_equal_caseless_quoted_bin_n
    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:
    - mhd_base64_to_bin_n
    - malloc
    - std::string::size
    - free
    - ConsumeRandomLengthString
    - std::string::data
    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_predef_header_to_string
      Src: /src/fuzz_str.cpp:206,1
    - Dst: static_cast<MHD_PredefinedHeader>
      Src: /src/fuzz_str.cpp:206,1
    - Dst: MHD_protocol_version_to_string
      Src: /src/fuzz_str.cpp:207,1
    - Dst: static_cast<MHD_HTTP_ProtocolVersion>
      Src: /src/fuzz_str.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: fuzz_transformation
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MHD_PredefinedHeader>
    - MHD_http_method_to_string
    - MHD_predef_header_to_string
    - ConsumeIntegral
    - static_cast<MHD_HTTP_ProtocolVersion>
    - static_cast<MHD_HTTP_Method>
    - ConsumeIntegralInRange
    - MHD_protocol_version_to_string
    linkageType: ''
    returnType: void
    signature: void fuzz_transformation(FuzzedDataProvider& fdp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ConsumeRandomLengthString
      Src: /src/fuzz_str.cpp:213,1
    - Dst: std::string::data
      Src: /src/fuzz_str.cpp:214,1
    - Dst: std::string::size
      Src: /src/fuzz_str.cpp:215,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:218,1
    - Dst: mhd_hex_to_bin
      Src: /src/fuzz_str.cpp:220,1
    - Dst: free
      Src: /src/fuzz_str.cpp:221,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:225,1
    - Dst: std::string::empty
      Src: /src/fuzz_str.cpp:227,1
    - Dst: mhd_bin_to_hex
      Src: /src/fuzz_str.cpp:228,1
    - Dst: free
      Src: /src/fuzz_str.cpp:230,1
    - Dst: malloc
      Src: /src/fuzz_str.cpp:233,1
    - Dst: std::string::empty
      Src: /src/fuzz_str.cpp:235,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/fuzz_str.cpp:236,1
    - Dst: free
      Src: /src/fuzz_str.cpp:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' fdp'
    argTypes:
    - FuzzedDataProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 240
    functionName: fuzz_hex_conversion
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - mhd_hex_to_bin
    - malloc
    - std::string::empty
    - mhd_bin_to_hex_z
    - std::string::size
    - free
    - ConsumeRandomLengthString
    - std::string::data
    - mhd_bin_to_hex
    linkageType: ''
    returnType: void
    signature: void fuzz_hex_conversion(FuzzedDataProvider& fdp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:245,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_str.cpp:246,1
    - Dst: fuzz_tokens
      Src: /src/fuzz_str.cpp:247,1
    - Dst: fuzz_conversion
      Src: /src/fuzz_str.cpp:248,1
    - Dst: fuzz_decode
      Src: /src/fuzz_str.cpp:249,1
    - Dst: fuzz_quoted
      Src: /src/fuzz_str.cpp:250,1
    - Dst: fuzz_base64
      Src: /src/fuzz_str.cpp:251,1
    - Dst: fuzz_transformation
      Src: /src/fuzz_str.cpp:252,1
    - Dst: fuzz_hex_conversion
      Src: /src/fuzz_str.cpp:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_str.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - fuzz_quoted
    - fuzz_conversion
    - fuzz_base64
    - fuzz_hex_conversion
    - fuzz_tokens
    - fuzz_decode
    - fuzz_transformation
    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:35,1
    - Dst: atexit
      Src: /src/fuzz_daemon_connection.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/fuzz_daemon_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_pool_create
    - atexit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_pool_destroy
      Src: /src/fuzz_daemon_connection.cpp:48,1
    - Dst: mhd_pool_create
      Src: /src/fuzz_daemon_connection.cpp:49,1
    - Dst: init_daemon_connection
      Src: /src/fuzz_daemon_connection.cpp:54,1
    - Dst: init_parsing_configuration
      Src: /src/fuzz_daemon_connection.cpp:55,1
    - Dst: init_connection_buffer
      Src: /src/fuzz_daemon_connection.cpp:56,1
    - Dst: prepare_headers_and_parse
      Src: /src/fuzz_daemon_connection.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_daemon_connection.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/fuzz_daemon_connection.cpp:62,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/fuzz_daemon_connection.cpp:62,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::ConsumeBool
      Src: /src/fuzz_daemon_connection.cpp:68,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/fuzz_daemon_connection.cpp:71,1
    - Dst: std::string::size
      Src: /src/fuzz_daemon_connection.cpp:72,1
    - Dst: prepare_body_and_process
      Src: /src/fuzz_daemon_connection.cpp:76,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/fuzz_daemon_connection.cpp:81,1
    - Dst: mhd_stream_call_app_request_cb
      Src: /src/fuzz_daemon_connection.cpp:87,1
    - Dst: is_post_parse_ready
      Src: /src/fuzz_daemon_connection.cpp:94,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/fuzz_daemon_connection.cpp:95,1
    - Dst: mhd_conn_tls_check
      Src: /src/fuzz_daemon_connection.cpp:100,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/fuzz_daemon_connection.cpp:104,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/fuzz_daemon_connection.cpp:108,1
    - Dst: final_cleanup
      Src: /src/fuzz_daemon_connection.cpp:114,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 116
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_daemon_connection.cpp
    functionUses: 0
    functionsReached:
    - mhd_pool_create
    - FuzzedDataProvider::ConsumeIntegralInRange
    - mhd_pool_destroy
    - mhd_conn_event_loop_state_update
    - FuzzedDataProvider::ConsumeBool
    - std::string::size
    - prepare_body_and_process
    - mhd_stream_process_req_recv_finished
    - init_connection_buffer
    - init_parsing_configuration
    - std::vector::push_back
    - is_post_parse_ready
    - prepare_headers_and_parse
    - mhd_connection_set_nodelay_state
    - mhd_conn_tls_check
    - mhd_connection_set_cork_state
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - init_daemon_connection
    - final_cleanup
    - mhd_stream_call_app_request_cb
    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:
    - data
    - empty
    - mhd_stream_process_post_finish
    - mhd_stream_prepare_for_post_parse
    - memcpy
    - size
    - mhd_daemon_extend_lbuf_up_to
    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_stream_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_process_upload_action
    - mhd_pool_create
    - fuzz_mhd_stream_process_post_finish
    - FuzzedDataProvider::ConsumeIntegralInRange
    - mhd_pool_destroy
    - FuzzedDataProvider::ConsumeBool
    - std::string::size
    - prepare_body_and_process
    - mhd_stream_alloc_memory
    - mhd_stream_process_req_recv_finished
    - init_connection_buffer
    - mhd_stream_release_write_buffer
    - mhd_stream_reset_rq_hdr_proc_state
    - std::vector::push_back
    - mhd_stream_shrink_read_buffer
    - mhd_stream_is_timeout_expired
    - prepare_headers_and_parse
    - mhd_stream_switch_to_rq_headers_proc
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - mhd_stream_maximize_write_buffer
    - init_daemon_connection
    - final_cleanup
    - mhd_stream_switch_from_recv_to_send
    - init_parsing_configuration
    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:
    - data
    - std::max<size_t>
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::vector::empty
    - std::vector::data
    - FuzzedDataProvider::PickValueInArray
    - update_fn
    - std::vector::size
    - init_once
    - finish_fn
    - FuzzedDataProvider::remaining_bytes
    - FuzzedDataProvider::ConsumeBool
    - memcpy
    - std::min
    - FuzzedDataProvider::ConsumeBytes
    - deinit_fn
    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:
    - fuzz_hash_ext_multi
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBool
    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:
    - FuzzedDataProvider::ConsumeIntegral
    - std::vector::data
    - MHD_lib_get_info_dynamic_sz
    - std::vector::size
    - MHD_lib_get_info_fixed_sz
    - static_cast<MHD_LibInfoDynamic>
    - FuzzedDataProvider::ConsumeRemainingBytes
    - reinterpret_cast<MHD_LibInfoDynamicData*>
    - reinterpret_cast<MHD_LibInfoFixedData*>
    - static_cast<MHD_LibInfoFixed>
    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:
    - ConsumeBool
    - MHD_daemon_create
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_destroy
    - MHD_daemon_start
    - MHD_D_OPTION_RANDOM_ENTROPY
    - static_cast<uint16_t>
    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:
    - PickValueInArray
    - remaining_bytes
    - ConsumeBool
    - std::string::empty
    - std::make_unique<FuzzedDataProvider>
    - reset
    - std::call_once
    - ConsumeRandomLengthString
    - ConsumeIntegralInRange
    - send_http_request_blocking
    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:
    - data
    - std::max<size_t>
    - init_fn
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::vector::empty
    - std::vector::data
    - FuzzedDataProvider::PickValueInArray
    - update_fn
    - std::vector::size
    - finish_fn
    - FuzzedDataProvider::remaining_bytes
    - FuzzedDataProvider::ConsumeBool
    - memcpy
    - std::min
    - FuzzedDataProvider::ConsumeBytes
    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:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - fuzz_hash_int_multi
    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_action_abort_request
    - MHD_response_destroy
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - MHD_response_add_auth_basic_challenge
    - MHD_action_from_response
    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_start
    - getchar
    - MHD_daemon_create
    - MHD_daemon_stop
    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_request_get_value
    - MHD_action_abort_request
    - fprintf
    - 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_start
    - getchar
    - MHD_daemon_create
    - MHD_daemon_stop
    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:
    - fprintf
    - strlen
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - MHD_create_response_from_buffer_static
    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:
    - fclose
    - strcmp
    - fopen
    - fwrite
    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:
    - MHD_destroy_post_processor
    - free
    - 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:
    - MHD_create_post_processor
    - fclose
    - malloc
    - MHD_post_process
    - send_page
    - free
    - snprintf
    - strcmp
    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:
    - fprintf
    - MHD_start_daemon
    - getchar
    - MHD_stop_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:
    - FD_SET
    - malloc
    - free
    - 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:
    - MHD_daemon_stop
    - MHD_D_OPTION_REREGISTER_ALL
    - select
    - MHD_daemon_process_reg_events
    - MHD_daemon_set_options
    - MHD_daemon_create
    - FD_ZERO
    - MHD_daemon_event_update
    - MHD_daemon_destroy
    - MHD_daemon_start
    - FD_SET
    - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_LEVEL
    - FD_ISSET
    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_start
    - getchar
    - MHD_daemon_create
    - MHD_daemon_stop
    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_daemon_stop
    - MHD_daemon_set_option
    - MHD_D_OPTION_LISTEN_BACKLOG
    - MHD_daemon_create
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_start
    - getchar
    - MHD_D_OPTION_SUPPRESS_DATE_HEADER
    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:
    - strlen
    - MHD_queue_response
    - MHD_destroy_response
    - MHD_create_response_from_buffer_static
    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_start_daemon
    - getchar
    - MHD_stop_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:
    - strlen
    - MHD_queue_response
    - MHD_destroy_response
    - MHD_create_response_from_buffer_static
    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:
    - strcmp
    - snprintf
    - malloc
    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:
    - MHD_destroy_post_processor
    - free
    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:
    - MHD_create_post_processor
    - malloc
    - MHD_post_process
    - send_page
    - free
    - 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: 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_start_daemon
    - getchar
    - MHD_stop_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:
    - fstat
    - fprintf
    - MHD_create_response_from_fd_at_offset64
    - strlen
    - MHD_destroy_response
    - close
    - MHD_queue_response
    - MHD_add_response_header
    - strcmp
    - open
    - MHD_create_response_from_buffer_static
    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_start_daemon
    - getchar
    - MHD_stop_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:
    - fseek
    - fopen
    - fclose
    - ftell
    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:
    - fopen
    - fread
    - fclose
    - malloc
    - free
    - get_file_size
    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_queue_basic_auth_required_response3
    - MHD_destroy_response
    - MHD_create_response_empty
    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_basic_auth_get_username_password3
    - MHD_free
    - 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:
    - strlen
    - MHD_queue_response
    - MHD_destroy_response
    - MHD_create_response_from_buffer_static
    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:
    - is_authenticated
    - strcmp
    - secret_page
    - ask_for_authentication
    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:
    - MHD_stop_daemon
    - printf
    - getchar
    - load_file
    - free
    - 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:
    - fprintf
    - MHD_lookup_connection_value
    - time
    - rand
    - snprintf
    - strcmp
    - calloc
    - 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:
    - fprintf
    - MHD_add_response_header
    - snprintf
    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:
    - fprintf
    - strlen
    - add_session_cookie
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - MHD_create_response_from_buffer_static
    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:
    - fprintf
    - malloc
    - add_session_cookie
    - MHD_destroy_response
    - free
    - snprintf
    - MHD_create_response_from_buffer_with_free_callback
    - MHD_queue_response
    - 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:
    - fprintf
    - malloc
    - add_session_cookie
    - MHD_destroy_response
    - free
    - snprintf
    - MHD_create_response_from_buffer_with_free_callback
    - MHD_queue_response
    - 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:
    - fprintf
    - strlen
    - MHD_destroy_response
    - MHD_queue_response
    - MHD_add_response_header
    - MHD_create_response_from_buffer_static
    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:
    - fprintf
    - memcpy
    - 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:
    - fprintf
    - MHD_create_post_processor
    - time
    - MHD_create_response_from_buffer_static
    - MHD_post_process
    - strlen
    - MHD_destroy_response
    - MHD_destroy_post_processor
    - MHD_queue_response
    - get_session
    - strcmp
    - handler
    - calloc
    - 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:
    - MHD_destroy_post_processor
    - free
    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:
    - time
    - free
    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:
    - fprintf
    - time
    - MHD_stop_daemon
    - select
    - strerror
    - expire_sessions
    - FD_ZERO
    - MHD_run
    - printf
    - MHD_start_daemon
    - MHD_get_fdset
    - sscanf
    - MHD_get_timeout64
    - srand
    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_queue_basic_auth_required_response3
    - MHD_free
    - memcmp
    - strlen
    - MHD_destroy_response
    - MHD_basic_auth_get_username_password3
    - MHD_queue_response
    - strcmp
    - MHD_create_response_from_buffer_static
    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_start_daemon
    - getchar
    - MHD_stop_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:
    - printf
    - MHD_get_connection_values
    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_start_daemon
    - getchar
    - MHD_stop_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_encode_text
    - recv
    - MHD_websocket_encode_close
    - MHD_websocket_free
    - MHD_websocket_encode_pong
    - MHD_websocket_decode
    - MHD_websocket_stream_free
    - printf
    - make_blocking
    - MHD_upgrade_action
    - MHD_websocket_stream_is_valid
    - MHD_websocket_stream_init
    - send_all
    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_lookup_connection_value
    - MHD_websocket_check_http_version
    - MHD_websocket_check_version_header
    - strlen
    - MHD_websocket_check_connection_header
    - MHD_websocket_create_accept_header
    - MHD_queue_response
    - MHD_destroy_response
    - MHD_add_response_header
    - strcmp
    - MHD_websocket_check_upgrade_header
    - MHD_create_response_for_upgrade
    - MHD_create_response_from_buffer_static
    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_start_daemon
    - getc
    - MHD_stop_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:
    - sigemptyset
    - strerror
    - sigaction
    - fprintf
    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:
    - fprintf
    - mhdt_mark_print_in_test_reset
    - mhdt_print_check_succeed
    - mhdt_print_test_succeed
    - mhdt_mark_print_in_test_is_set
    - fflush
    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
    - mhdt_print_check_succeed
    - strcmp
    - fflush
    - 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
    - mhdt_print_check_succeed
    - strcmp
    - fflush
    - 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
    - mhdt_print_check_succeed
    - MHDT_ERR_EXIT_D
    - strcmp
    - fflush
    - 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
    - strlen
    - mhdt_print_check_succeed
    - MHDT_ERR_EXIT_D
    - fflush
    - mhdt_mark_print_in_test_set
    - 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
    - strlen
    - mhdt_print_check_succeed
    - MHDT_ERR_EXIT_D
    - fflush
    - mhdt_mark_print_in_test_set
    - 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:
    - strrchr
    - strstr
    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:
    - fprintf
    - fflush
    - flush_std_all
    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:
    - fprintf
    - printf
    - strcmp
    - fflush
    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
    - MHD_lib_get_info_fixed
    - printf
    - strcmp
    - 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:
    - fprintf
    - exit
    - tst_EXPECT_OK
    - sprintf
    - MHD_lib_get_info_fixed
    - printf
    - snprintf
    - strcmp
    - fflush
    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:
    - fprintf
    - printf
    - MHD_lib_get_info_ver_num
    - fflush
    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:
    - fprintf
    - printf
    - MHD_lib_get_info_ver_num
    - fflush
    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:
    - fprintf
    - tst_EXPECT_OK
    - strlen
    - MHD_lib_get_info_fixed
    - printf
    - fflush
    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:340,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:341,1
    - Dst: test_macro2_vs_func_str
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:342,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:343,1
    - Dst: test_func_str_format
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:344,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:345,1
    - Dst: test_func_str_vs_macro_bin
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:346,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:347,1
    - Dst: test_macro_vs_func_bin
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:348,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:349,1
    - Dst: test_func_bin_format
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:350,1
    - Dst: flush_std_all
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:351,1
    - Dst: fflush
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:355,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:356,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_lib_info_version.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/basic/test_lib_info_version.c
    functionUses: 0
    functionsReached:
    - fprintf
    - test_func_str_format
    - test_func_bin_format
    - test_func_str_vs_macro_bin
    - test_macro1_vs_macro2_str
    - test_macro_vs_func_bin
    - printf
    - test_macro2_vs_func_str
    - flush_std_all
    - fflush
    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:130,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: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    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:141,1
    - Dst: ERR_PRINT_LINE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:145,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: test_daemon_create
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_create
    - ERR_PRINT_LINE
    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:162,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:163,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:164,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:170,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:171,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:172,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:178,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:179,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:180,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:186,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:187,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:188,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:194,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:195,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:196,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:202,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:203,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:204,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:210,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:211,1
    - Dst: MHD_WM_OPTION_WORKER_THREADS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:211,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:212,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:218,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:219,1
    - Dst: MHD_WM_OPTION_THREAD_PER_CONNECTION
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:219,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:220,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:226,1
    - Dst: MHD_D_OPTION_WORK_MODE
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:227,1
    - Dst: MHD_WM_OPTION_WORKER_THREADS
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:227,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - d
    - should_succeed
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 236
    functionName: test_daemon_setup
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - tst_EXPECT_CHECK
    - MHD_WM_OPTION_WORKER_THREADS
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_D_OPTION_WORK_MODE
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_WM_OPTION_THREAD_PER_CONNECTION
    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:245,1
    - Dst: tst_EXPECT_CHECK
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - d
    - should_succeed
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    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:264,1
    - Dst: test_daemon_setup
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:268,1
    - Dst: test_daemon_start
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:270,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:275,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: test_simple
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_destroy
    - test_daemon_start
    - 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:292,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:295,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:298,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:301,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:304,1
    - Dst: mhdt_has_in_name
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:306,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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - prog_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 317
    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:326,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:328,1
    - Dst: test_simple
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:332,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:337,1
    - Dst: printf
      Src: /src/mhd2/src/tests/basic/test_basic_checks.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/basic/test_basic_checks.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - test_simple
    - 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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    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:76,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:78,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:79,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: 81
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 81
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:93,1
    - Dst: mkstemp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:99,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:102,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:104,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:106,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:108,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:110,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:111,1
    - Dst: fsync
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:113,1
    - Dst: remove
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:114,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:116,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:119,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:121,1
    - Dst: MHD_response_from_fd
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 127
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 127
    functionName: MHDT_server_reply_file
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mkstemp
    - MHD_action_abort_request
    - strlen
    - remove
    - MHD_response_from_fd
    - MHD_action_from_response
    - fsync
    - write
    - 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:139,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:141,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:147,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:153,1
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:155,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:159,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:160,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:162,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: 165
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 165
    functionName: MHDT_server_reply_with_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_action_abort_request
    - MHD_response_destroy
    - MHD_response_add_header
    - strlen
    - MHD_response_from_empty
    - MHD_action_from_response
    - memcpy
    - strchr
    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:177,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:182,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:185,1
    - Dst: strtok
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:187,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:193,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:196,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:207,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:212,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:217,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:220,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:226,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:230,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:241,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:243,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:251,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:257,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:259,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: 261
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 261
    functionName: MHDT_server_reply_check_query
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_action_abort_request
    - strtok
    - strlen
    - MHD_response_from_empty
    - MHD_action_from_response
    - MHD_request_get_value
    - memcpy
    - strcmp
    - strchr
    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:273,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:275,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:281,1
    - Dst: MHD_request_get_value
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:294,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:299,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:302,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:308,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:312,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:319,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:322,1
    - Dst: strcmp
      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:327,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:332,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:335,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:337,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: 339
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 339
    functionName: MHDT_server_reply_check_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_action_abort_request
    - strlen
    - MHD_response_from_empty
    - MHD_action_from_response
    - MHD_request_get_value
    - memcpy
    - strcmp
    - strchr
    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:370,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:374,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:376,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:378,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:382,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:384,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:387,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:389,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: 391
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 391
    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
    - strlen
    - MHD_response_from_empty
    - MHD_upload_action_abort_request
    - 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:403,1
    - Dst: MHD_action_process_upload_full
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:407,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: 411
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 411
    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:452,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:453,1
    - Dst: MHD_DCC_action_finish
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:458,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:463,1
    - Dst: MHD_DCC_action_continue
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:467,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: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: chunk_return
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_DCC_action_continue
    - strlen
    - MHD_DCC_action_finish
    - memcpy
    - strchr
    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:485,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:490,1
    - Dst: MHD_response_from_callback
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:492,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: 497
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: MHDT_server_reply_chunked_text
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_callback
    - malloc
    - 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:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - wants
    - have
    argTypes:
    - char*
    - struct MHD_StringNullable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 520
    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:582,1
    - Dst: nstrcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:585,1
    - Dst: nstrcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:588,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:597,1
    - Dst: MHD_upload_action_continue
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:606,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: 607
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 607
    functionName: post_stream_reader
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - strcmp
    - MHD_upload_action_continue
    - nstrcmp
    - memcmp
    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:646,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:658,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:665,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: 672
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 672
    functionName: check_complete_post_value
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memcmp
    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:693,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:696,1
    - Dst: MHD_request_get_values_cb
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:699,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:711,1
    - Dst: MHD_upload_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:714,1
    - Dst: MHD_upload_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:717,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:719,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: 721
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 721
    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_response_from_empty
    - MHD_upload_action_abort_request
    - 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:739,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:742,1
    - Dst: MHD_action_parse_post
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:745,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: 753
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 753
    functionName: MHDT_server_reply_check_post
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_action_abort_request
    - MHD_action_parse_post
    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:770,1
    - Dst: MHD_request_get_info_dynamic
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:773,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:778,1
    - Dst: MHD_action_basic_auth_challenge_p
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:780,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:784,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:788,1
    - Dst: strncmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:789,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:794,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:797,1
    - Dst: MHD_action_basic_auth_challenge_p
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:802,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:806,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:809,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:811,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: 787
        line_start: 787
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    constantsTouched: []
    func_position:
      end: 813
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 813
    functionName: MHDT_server_reply_check_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memset
    - MHD_request_get_info_dynamic
    - MHD_response_from_empty
    - strncmp
    - MHD_action_from_response
    - assert
    - strcmp
    - MHD_action_basic_auth_challenge_p
    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:825,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:830,1
    - Dst: MHD_digest_get_hash_size
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:835,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:841,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:843,1
    - Dst: assert
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:845,1
    - Dst: memset
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:852,1
    - Dst: MHD_digest_auth_calc_userdigest
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:853,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:861,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:864,1
    - Dst: MHD_digest_auth_check_digest
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:867,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:876,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:883,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:887,1
    - Dst: MHD_response_add_auth_digest_challenge
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:891,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:903,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:908,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:913,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:915,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:918,1
    - Dst: MHD_response_from_empty
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:920,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c:923,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 != username)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    - condition: (NULL != colon)
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    constantsTouched: []
    func_position:
      end: 924
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 924
    functionName: MHDT_server_reply_check_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_server_reply.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - MHD_action_abort_request
    - memset
    - CURL_AT_LEAST_VERSION
    - MHD_digest_auth_calc_userdigest
    - MHD_digest_auth_check_digest
    - MHD_response_from_empty
    - free
    - MHD_digest_get_hash_size
    - MHD_response_add_auth_digest_challenge
    - MHD_action_from_response
    - strndup
    - strchr
    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:
    - fprintf
    - curl_easy_getinfo
    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_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:273,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:283,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:285,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:286,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:288,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:289,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:291,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:292,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:297,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:300,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:304,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:308,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:310,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:317,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:321,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:329,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:333,1
    - Dst: curl_easy_cleanup
      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
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - c
    - base_url
    - pc
    argTypes:
    - CURL*
    - char*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 354
    functionName: set_url
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - strlen
    - strchr
    - snprintf
    - strncasecmp
    - curl_easy_setopt
    - curl_slist_append
    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:369,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:378,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:382,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:383,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:392,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:396,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:397,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: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:417,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 424
    functionName: setup_curl
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - fprintf
    - curl_easy_cleanup
    - abort
    - curl_easy_init
    - curl_easy_setopt
    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:433,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:435,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:437,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:443,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:447,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:452,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:455,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:460,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:461,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 465
    functionName: MHDT_client_get_host
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - strlen
    - set_url
    - setup_curl
    - snprintf
    - PERFORM_REQUEST
    - CHECK_STATUS
    - strchr
    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:476,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:478,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:481,1
    - Dst: SETUP_WB
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:486,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
    - Dst: CHECK_WB
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 493
    functionName: MHDT_client_get_root
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - set_url
    - CHECK_WB
    - DECLARE_WB
    - PERFORM_REQUEST
    - CHECK_STATUS
    - SETUP_WB
    - setup_curl
    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:503,1
    - Dst: strlen
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:505,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:508,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:511,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:515,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:518,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:523,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:524,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 528
    functionName: MHDT_client_get_with_query
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - strlen
    - set_url
    - PERFORM_REQUEST
    - CHECK_STATUS
    - memcpy
    - setup_curl
    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:542,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:545,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:550,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:553,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:557,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:558,1
    - Dst: curl_easy_perform
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:561,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:562,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:565,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:568,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 572
    functionName: MHDT_client_set_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - set_url
    - setup_curl
    - curl_slist_free_all
    - CHECK_STATUS
    - curl_easy_setopt
    - curl_slist_append
    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:582,1
    - Dst: strchr
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:584,1
    - Dst: memcpy
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:591,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:596,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:599,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:604,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:605,1
    - Dst: curl_easy_header
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:612,1
    - Dst: strcmp
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:620,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:625,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 634
    functionName: MHDT_client_expect_header
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_header
    - curl_easy_cleanup
    - strlen
    - strchr
    - set_url
    - PERFORM_REQUEST
    - CHECK_STATUS
    - memcpy
    - strcmp
    - setup_curl
    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:694,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: 699
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 699
    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:711,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:715,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:718,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:724,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:728,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:732,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:736,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:740,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:744,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:748,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:752,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:755,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:756,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 760
    functionName: MHDT_client_put_data
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_cleanup
    - strlen
    - set_url
    - PERFORM_REQUEST
    - CHECK_STATUS
    - setup_curl
    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:772,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:777,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:780,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:786,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:790,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:794,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:798,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:802,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:806,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:809,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:810,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 814
    functionName: MHDT_client_chunk_data
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_cleanup
    - strlen
    - set_url
    - PERFORM_REQUEST
    - CHECK_STATUS
    - setup_curl
    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:836,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:839,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:845,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:849,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:853,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:857,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:863,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:867,1
    - Dst: curl_slist_append
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:873,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:877,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:881,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:882,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:885,1
    - Dst: CHECK_STATUS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:886,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:888,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:889,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:896,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 904
    functionName: MHDT_client_do_post
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - fprintf
    - curl_easy_setopt
    - curl_easy_cleanup
    - set_url
    - curl_slist_free_all
    - PERFORM_REQUEST
    - CHECK_STATUS
    - setup_curl
    - curl_slist_append
    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:923,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:928,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:931,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:934,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:937,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:942,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:943,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:947,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:951,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:955,1
    - Dst: curl_easy_cleanup
      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:960,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:963,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:964,1
    - Dst: curl_easy_getinfo
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:966,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:973,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: 975
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 975
    functionName: send_basic_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_cleanup
    - set_url
    - strchr
    - curl_easy_getinfo
    - free
    - PERFORM_REQUEST
    - strndup
    - setup_curl
    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:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 995
    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:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1015
    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:1034,1
    - Dst: strndup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1039,1
    - Dst: setup_curl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1042,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1045,1
    - Dst: set_url
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1048,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1053,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1054,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1058,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1062,1
    - Dst: curl_easy_setopt
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1066,1
    - Dst: curl_easy_cleanup
      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:1071,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1074,1
    - Dst: PERFORM_REQUEST
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1075,1
    - Dst: curl_easy_getinfo
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1077,1
    - Dst: curl_easy_cleanup
      Src: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c:1084,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: 1086
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1086
    functionName: send_digest_auth
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience_client_request.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_cleanup
    - set_url
    - strchr
    - curl_easy_getinfo
    - free
    - PERFORM_REQUEST
    - strndup
    - setup_curl
    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:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1106
    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:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cls
    - pc
    argTypes:
    - void*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1126
    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:
    - fprintf
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_POLL_SYSCALL
    - 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
    - pthread_mutex_unlock
    - test_check
    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_cond_signal
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - test_check
    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:252,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: 257
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 257
    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:300,1
    - Dst: struct ClientContext*::phase::client_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:304,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:308,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:314,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:315,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:322,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:323,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 331
    functionName: run_single_client
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - test_check
    - write
    - 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:344,1
    - Dst: pipe
      Src: /src/mhd2/src/tests/client_server/libtest.c:345,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/libtest.c:346,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:349,1
    - Dst: fcntl
      Src: /src/mhd2/src/tests/client_server/libtest.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: make_pipe
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - fcntl
    - pipe
    - test_check
    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:377,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:378,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:389,1
    - Dst: nanosleep
      Src: /src/mhd2/src/tests/client_server/libtest.c:407,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:410,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:412,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest.c:416,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:425,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest.c:430,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:437,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:438,1
    - Dst: curl_slist_free_all
      Src: /src/mhd2/src/tests/client_server/libtest.c:442,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:444,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:444,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:445,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:445,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - phase
    - pc
    argTypes:
    - struct MHDT_Phase*
    - struct MHDT_PhaseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 451
    functionName: run_client_phase
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - make_pipe
    - fprintf
    - exit
    - test_check
    - pthread_create
    - close
    - curl_slist_free_all
    - pthread_join
    - nanosleep
    - read
    - strerror
    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:469,1
    - Dst: semaphore_down
      Src: /src/mhd2/src/tests/client_server/libtest.c:472,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:474,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: server_phase_logic
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - semaphore_down
    - semaphore_up
    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:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_pipe
      Src: /src/mhd2/src/tests/client_server/libtest.c:524,1
    - Dst: semaphore_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:525,1
    - Dst: semaphore_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:527,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:529,1
    - Dst: exit
      Src: /src/mhd2/src/tests/client_server/libtest.c:532,1
    - Dst: ss_cb
      Src: /src/mhd2/src/tests/client_server/libtest.c:533,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:537,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/tests/client_server/libtest.c:545,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:549,1
    - Dst: MHD_status_code_to_string_lazy
      Src: /src/mhd2/src/tests/client_server/libtest.c:551,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:553,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:557,1
    - Dst: MHD_daemon_get_info_fixed
      Src: /src/mhd2/src/tests/client_server/libtest.c:565,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:569,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:570,1
    - Dst: snprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:574,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:581,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:586,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:588,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:589,1
    - Dst: pthread_create
      Src: /src/mhd2/src/tests/client_server/libtest.c:594,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:599,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:601,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:602,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:614,1
    - Dst: run_client_phase
      Src: /src/mhd2/src/tests/client_server/libtest.c:617,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:625,1
    - Dst: semaphore_down
      Src: /src/mhd2/src/tests/client_server/libtest.c:627,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:635,1
    - Dst: write
      Src: /src/mhd2/src/tests/client_server/libtest.c:636,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:639,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:640,1
    - Dst: semaphore_up
      Src: /src/mhd2/src/tests/client_server/libtest.c:649,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:650,1
    - Dst: pthread_join
      Src: /src/mhd2/src/tests/client_server/libtest.c:651,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:654,1
    - Dst: semaphore_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:655,1
    - Dst: semaphore_destroy
      Src: /src/mhd2/src/tests/client_server/libtest.c:656,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:657,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:657,1
    - Dst: test_check
      Src: /src/mhd2/src/tests/client_server/libtest.c:658,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    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: 660
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 660
    functionName: MHDT_test
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 1
    functionsReached:
    - run_client_phase
    - MHD_status_code_to_string_lazy
    - MHD_daemon_destroy
    - MHD_daemon_get_info_fixed
    - exit
    - pthread_create
    - MHD_daemon_create
    - strerror
    - make_pipe
    - fprintf
    - semaphore_down
    - semaphore_destroy
    - semaphore_create
    - MHD_daemon_start
    - semaphore_up
    - write
    - test_check
    - ss_cb
    - close
    - snprintf
    - pthread_join
    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:671,1
    - Dst: open
      Src: /src/mhd2/src/tests/client_server/libtest.c:675,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:679,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:682,1
    - Dst: fstat
      Src: /src/mhd2/src/tests/client_server/libtest.c:686,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:689,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:692,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:693,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:698,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:703,1
    - Dst: malloc
      Src: /src/mhd2/src/tests/client_server/libtest.c:706,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:709,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:711,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:712,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest.c:716,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest.c:720,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest.c:723,1
    - Dst: free
      Src: /src/mhd2/src/tests/client_server/libtest.c:724,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:725,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest.c:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 731
    functionName: MHDT_load_pem
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fstat
    - malloc
    - close
    - free
    - snprintf
    - read
    - open
    - 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:
    - fprintf
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_POLL_SYSCALL
    - 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_EXTERNAL_PERIODIC
      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: fprintf
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:287,1
    - Dst: MHDT_test
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:290,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/test_client_server.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/client_server/test_client_server.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_POLL_SYSCALL
    - 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:
    - fprintf
    - MHD_D_OPTION_TLS_CERT_KEY
    - MHDT_test
    - MHD_D_OPTION_TLS
    - free
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHDT_load_pem
    - MHD_D_OPTION_POLL_SYSCALL
    - 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_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:
    - fprintf
    - MHD_D_OPTION_WM_EXTERNAL_PERIODIC
    - MHDT_test
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_POLL_SYSCALL
    - 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:
    - fprintf
    - MHDT_test
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_POLL_SYSCALL
    - MHD_D_OPTION_TERMINATE
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_daemon_set_options
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:63,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:69,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: MHDT_server_setup_minimal
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_set_options
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    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:143,1
    - Dst: MHD_D_OPTION_TLS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:145,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:148,1
    - Dst: MHD_D_OPTION_TLS_CERT_KEY
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - be
    argTypes:
    - struct MHD_Daemon*
    - enum MHD_TlsBackend
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 155
    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:165,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: MHDT_server_setup_tls
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - server_setup_tls
    - MHDT_server_setup_minimal
    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:184,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: MHDT_server_setup_gnutls
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - server_setup_tls
    - MHDT_server_setup_minimal
    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:203,1
    - Dst: server_setup_tls
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: MHDT_server_setup_openssl
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - server_setup_tls
    - MHDT_server_setup_minimal
    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:226,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:227,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:231,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:238,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:240,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:243,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:247,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:249,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 256
    functionName: MHDT_server_run_minimal
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - fprintf
    - select
    - FD_ZERO
    - FD_SET
    - read
    - FD_ISSET
    - strerror
    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:270,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:271,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:279,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:286,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:288,1
    - Dst: MHD_daemon_process_blocking
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:293,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:296,1
    - Dst: abort
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:301,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:304,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:306,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 313
    functionName: MHDT_server_run_blocking
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_daemon_process_blocking
    - select
    - FD_ZERO
    - FD_SET
    - abort
    - read
    - FD_ISSET
    - strerror
    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:350,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:365,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:372,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    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: 378
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 378
    functionName: update_fd
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strerror
    - epoll_ctl
    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:387,1
    - Dst: MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:389,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:393,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:395,1
    - Dst: epoll_create1
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - void*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 401
    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
    - MHD_DAEMON_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - epoll_create1
    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:413,1
    - Dst: MHD_daemon_process_reg_events
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:420,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:423,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:430,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:431,1
    - Dst: FD_SET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:433,1
    - Dst: select
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:436,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:443,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:445,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:448,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:451,1
    - Dst: epoll_wait
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:459,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:465,1
    - Dst: strerror
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:467,1
    - Dst: MHD_FD_STATE_SET_RECV
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:475,1
    - Dst: MHD_FD_STATE_SET_SEND
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:477,1
    - Dst: MHD_FD_STATE_SET_EXCEPT
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:479,1
    - Dst: MHD_daemon_event_update
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:480,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:490,1
    - Dst: read
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:492,1
    - Dst: fprintf
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:496,1
    - Dst: close
      Src: /src/mhd2/src/tests/client_server/libtest_convenience.c:501,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - cls
    - finsig
    - d
    argTypes:
    - void*
    - int
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 503
    functionName: MHDT_server_run_external
    functionSourceFile: /src/mhd2/src/tests/client_server/libtest_convenience.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MHD_FD_STATE_SET_SEND
    - select
    - epoll_wait
    - MHD_daemon_process_reg_events
    - FD_ZERO
    - MHD_FD_STATE_SET_RECV
    - FD_SET
    - MHD_daemon_event_update
    - abort
    - MHD_FD_STATE_SET_EXCEPT
    - close
    - read
    - FD_ISSET
    - strerror
    linkageType: ''
    returnType: void
    signature: "void MHDT_server_run_external (void *cls,\n                          int
      finsig,\n                          struct MHD_Daemon *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mhd2/src/tests/unit/unit_md5.c:74,1
    - Dst: sscanf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:80,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: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: hex2bin
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.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: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:96,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:102,1
    - Dst: memcmp
      Src: /src/mhd2/src/tests/unit/unit_md5.c:108,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:112,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:114,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:116,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:119,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:122,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: 126
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 126
    functionName: check_digest
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 2
    functionsReached:
    - printf
    - hex2bin
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MD5_init_one_time
      Src: /src/mhd2/src/tests/unit/unit_md5.c:184,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:185,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:187,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:191,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:194,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:196,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:198,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:206,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:212,1
    - Dst: mhd_MD5_init_one_time
      Src: /src/mhd2/src/tests/unit/unit_md5.c:222,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:223,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:226,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:228,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:230,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:231,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:232,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:234,1
    - Dst: mhd_MD5_init_one_time
      Src: /src/mhd2/src/tests/unit/unit_md5.c:246,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:247,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:250,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:253,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/tests/unit/unit_md5.c:254,1
    - Dst: hex2bin
      Src: /src/mhd2/src/tests/unit/unit_md5.c:257,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/tests/unit/unit_md5.c:258,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/tests/unit/unit_md5.c:259,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/tests/unit/unit_md5.c:261,1
    - Dst: check_digest
      Src: /src/mhd2/src/tests/unit/unit_md5.c:263,1
    - Dst: printf
      Src: /src/mhd2/src/tests/unit/unit_md5.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/mhd2/src/tests/unit/unit_md5.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_has_err
    - mhd_MD5_update
    - mhd_MD5_finish_deinit
    - mhd_MD5_finish_reset
    - check_digest
    - printf
    - mhd_MD5_init_one_time
    - hex2bin
    linkageType: ''
    returnType: int
    signature: int main (void)
  - 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:
    - mhd_dtbl_get_table_max_size
    - MHDT_EXPECT_UINT_GE_VAL
    - mhd_dtbl_get_table_used
    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:
    - mhd_dtbl_get_table_max_size
    - MHDT_EXPECT_UINT_GE_VAL
    - mhd_dtbl_get_table_used
    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_num_entries
    - MHDT_EXPECT_FALSE_D
    - MHDT_EXPECT_TRUE_D
    - mhd_dtbl_get_entry
    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:
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_TRUE_D
    - mhd_dtbl_find_entry
    - MHDT_EXPECT_STRN_EQ_STR_D
    - mhd_dtbl_find_name
    - MHDT_EXPECT_UINT_GT_VAL_D
    - mhd_dtbl_get_entry
    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:
    - strlen
    - mhdtl_dyn_check_entry_n_at_idx
    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:
    - mhd_dtbl_get_table_max_size
    - MHDT_EXPECT_TRUE_D
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhdtl_dyn_check_get_valid_invalid
    - mhdtl_dyn_get_size_used
    - MHDT_EXPECT_TRUE
    - memcpy
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_dyn_check_entry_n_at_idx
    - mhdtl_dyn_get_free
    - mhd_dtbl_find_entry
    - MHDT_EXPECT_STRN_EQ_D
    - MHDT_EXPECT_UINT_GE_VAL
    - mhd_dtbl_new_entry
    - MHDTL_HPACK_ENTRY_SIZE
    - mhd_dtbl_find_name
    - mhd_dtbl_get_num_entries
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_UINT_GE_VAL_D
    - MHDT_EXPECT_UINT_LE_VAL_D
    - MHDT_EXPECT_UINT_GT_VAL_D
    - mhd_dtbl_get_entry
    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:
    - strlen
    - mhdtl_dyn_add_hdr_n_with_check
    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:
    - MHDT_ERR_EXIT_D
    - mhdtl_dyn_add_hdr_n_with_check
    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
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_UINT_LE_VAL_D
    - MHDT_EXPECT_UINT_NE_VAL_D
    - MHDT_EXPECT_STRN_EQ_STR_D
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhd_stbl_find_entry_real
    - mhd_stbl_find_name_real
    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:
    - mhdtl_stat_check_entry_n_at_idx
    - strlen
    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_htbl_find_name_real
    - MHDT_ERR_EXIT
    - MHDT_EXPECT_TRUE_D
    - mhd_htbl_get_entry
    - MHDT_EXPECT_STRN_EQ_STR_D
    - MHDT_EXPECT_UINT_NE_VAL_D
    - MHDT_ERR_EXIT_D
    - MHDT_EXPECT_UINT_LE_VAL_D
    - mhd_dtbl_get_num_entries
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhd_htbl_find_entry_real
    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:
    - mhdtl_comb_check_entry_n_at_idx
    - strlen
    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:
    - MHDT_TEST_RESULT
    - mhdtl_dyn_check_get_valid_invalid
    - mhd_dtbl_create
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_UINT_EQ_VAL_D
    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:
    - MHDT_TEST_RESULT
    - mhdtl_dyn_check_get_valid_invalid
    - mhd_dtbl_create
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_dyn_add_sized_entry_with_check
    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
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    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
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    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
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    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:
    - MHDT_TEST_RESULT
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_check_entry_at_idx
    - mhdtl_dyn_add_sized_entry_with_check
    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:
    - MHDT_TEST_RESULT
    - mhd_dtbl_get_entry
    - MHDT_EXPECT_UINT_EQ_VAL
    - MHDTL_HPACK_ENTRY_SIZE
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - MHDT_EXPECT_TRUE
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_sized_entry_with_check
    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_evict_to_size
    - mhdtl_mix16
    - mhdtl_dyn_add_sized_strs_with_check
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    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
    - mhdtl_mix16
    - mhdtl_dyn_add_sized_strs_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    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:
    - MHDT_TEST_RESULT
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhd_dtbl_evict_to_size
    - mhdtl_dyn_add_hdr_with_check
    - mhdtl_dyn_check_get_valid_invalid
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_check_entry_at_idx
    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_table_max_size
    - MHDT_TEST_RESULT
    - MHDT_EXPECT_TRUE_D
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_resize
    - MHDT_EXPECT_PTR_NONNULL
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_check_entry_at_idx
    - mhdtl_dyn_add_sized_entry_with_check
    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
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_check_entry_at_idx
    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:
    - MHDT_TEST_RESULT
    - mhd_dtbl_get_entry
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhdtl_dyn_add_hdr_with_check
    - MHDT_EXPECT_UINT_GT_VAL
    - mhd_dtbl_create
    - MHDT_EXPECT_TRUE
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_add_sized_entry_with_check
    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_table_max_size
    - MHDT_TEST_RESULT
    - MHDT_EXPECT_TRUE_D
    - MHDT_EXPECT_UINT_EQ_VAL
    - mhd_dtbl_evict_to_size
    - mhdtl_dyn_add_hdr_with_check
    - mhd_dtbl_resize
    - mhdtl_dyn_add_sized_strs_with_check
    - mhd_dtbl_create
    - mhdtl_dyn_get_size_used
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_dyn_check_entry_at_idx
    - mhdtl_dyn_add_sized_entry_with_check
    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:
    - mhdtl_stat_check_entry_at_idx
    - MHDT_TEST_RESULT
    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:
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - MHDTL_STBL_FIND_ENTRY_REAL_STR
    - 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_dyn_add_hdr_with_check
    - mhd_dtbl_create
    - mhd_dtbl_destroy
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhdtl_comb_check_entry_at_idx
    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:
    - MHDT_TEST_RESULT
    - mhdtl_dyn_add_hdr_with_check
    - MHDTL_HTBL_FIND_ENTRY_REAL_STR
    - mhd_dtbl_create
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhd_dtbl_destroy
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_comb_check_entry_at_idx
    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_dyn_add_hdr_with_check
    - MHDTL_HTBL_FIND_NAME_REAL_STR
    - mhd_dtbl_create
    - MHDT_EXPECT_PTR_NONNULL_D
    - mhd_dtbl_destroy
    - MHDT_EXPECT_UINT_EQ_VAL_D
    - mhdtl_comb_check_entry_at_idx
    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_find
    - MHDT_ERR_EXIT_D
    - test_dyn_resize
    - test_comb_find_name_absent
    - test_dyn_create_destroy_larger
    - mhdt_has_in_name
    - test_dyn_create_destroy
    - test_dyn_add_three
    - test_comb_get_find
    - test_dyn_add_evict_inter
    - test_stat_find_non_pseudo_name_absent
    - test_dyn_add_evict_wrap
    - MHDT_set_verbosity
    - MHDT_FINAL_RESULT
    - test_dyn_add_evict_simple
    - test_dyn_add_series
    - test_comb_find_entry_absent
    - test_dyn_evict_to_size
    - test_dyn_add_empty
    - test_dyn_reset_on_too_large
    - test_dyn_zero_sizes
    - test_stat_get_find
    - test_stat_find_non_pseudo_entry_absent
    - test_dyn_add_evict_series
    - mhdt_has_param
    linkageType: ''
    returnType: int
    signature: "int main (int argc,\n      char *const *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:
    - fprintf
    - strlen
    - 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:
    - fprintf
    - memset
    - print_hex
    - memcmp
    - print_mixed
    - fflush
    - mhd_h2_huffman_encode
    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
    - check_h2_h_encode_fixed_sizes
    - check_h2_h_encode_perfect_size
    - printf
    - 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
    - memset
    - mhd_h2_huffman_decode
    - print_hex
    - decode_result_to_string
    - print_mixed
    - fflush
    - 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:
    - fprintf
    - mhd_h2_huffman_decode
    - print_hex
    - memcmp
    - decode_result_to_string
    - print_mixed
    - fflush
    - mhd_h2_huffman_encode
    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:
    - fprintf
    - perform_single_dec_unknow_seq_check
    - 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:
    - fprintf
    - perform_single_dec_unknow_seq_check
    - 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:
    - fprintf
    - printf
    - perform_single_dec_unknow_seq_check
    - 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:
    - fprintf
    - printf
    - perform_single_dec_unknow_seq_check
    - 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_fixed_sizes
    - check_h2_h_decode_smaller_size
    - check_h2_h_decode_perfect_size
    - check_h2_h_decode_all_two_bytes_values
    - printf
    - check_h2_h_decode_all_four_bytes_values
    - check_h2_h_decode_all_three_bytes_values
    - check_h2_h_decode_larger_size
    - mhd_h2_huffman_init
    - check_h2_h_decode_all_one_byte_values
    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:
    - test_encode
    - mhdt_has_in_name
    - test_decode
    - mhdt_has_param
    - basic_data_check
    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: 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
    - WSAGetLastError
    - fflush
    - 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:
    - fprintf
    - exit
    - fflush
    - strerror
    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:
    - fprintf
    - fflush
    - WSAGetLastError
    - strerror
    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:
    - mhd_socket_close
    - execlp
    - socketpair
    - testErrorLogDesc
    - close
    - externalErrorExitDesc
    - snprintf
    - _exit
    - dup2
    - fork
    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
    - WSAGetLastError
    - setsockopt
    - fflush
    - 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:
    - testErrorLogDesc
    - malloc
    - make_nodelay
    - free
    - socket
    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_init
    - testErrorLogDesc
    - gnutls_transport_set_ptr
    - malloc
    - make_nodelay
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - free
    - gnutls_certificate_allocate_credentials
    - socket
    - gnutls_transport_set_int
    - gnutls_set_default_priority
    - gnutls_credentials_set
    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:
    - testErrorLogDesc
    - malloc
    - make_nodelay
    - wr_make_nonblocking
    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:
    - fprintf
    - WSAGetLastError
    - select
    - mhd_SCKT_ERR_IS_EINTR
    - FD_ZERO
    - FD_SET
    - externalErrorExitDesc
    - mhd_SCKT_GET_LERR
    - strerror
    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:
    - connect
    - mhd_SCKT_ERR_IS_EAGAIN
    - testErrorLogDesc
    - mhd_SCKT_ERR_IS_INPROGRESS
    - mhd_SCKT_GET_LERR
    - wr_wait_socket_ready_noabort_
    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:
    - fprintf
    - wr_wait_socket_ready_
    - testErrorLogDesc
    - gnutls_strerror
    - gnutls_record_get_direction
    - mhd_SCKT_SET_LERR
    - gnutls_handshake
    - gnutls_strerror_name
    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:
    - fprintf
    - mhd_SCKT_ERR_IS_EAGAIN
    - wr_wait_socket_ready_
    - wr_handshake_tmo_
    - gnutls_record_send
    - testErrorLogDesc
    - mhd_sys_send
    - mhd_SCKT_ERR_IS_EINTR
    - gnutls_strerror
    - gnutls_record_get_direction
    - mhd_SCKT_SET_LERR
    - gnutls_strerror_name
    - mhd_SCKT_GET_LERR
    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:
    - fprintf
    - gnutls_record_recv
    - mhd_SCKT_ERR_IS_EAGAIN
    - wr_wait_socket_ready_
    - wr_handshake_tmo_
    - testErrorLogDesc
    - mhd_SCKT_ERR_IS_EINTR
    - gnutls_strerror
    - gnutls_record_get_direction
    - mhd_SCKT_SET_LERR
    - mhd_sys_recv
    - gnutls_strerror_name
    - mhd_SCKT_GET_LERR
    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:
    - fprintf
    - wr_wait_socket_ready_
    - wr_handshake_tmo_
    - testErrorLogDesc
    - gnutls_strerror
    - gnutls_bye
    - externalErrorExitDesc
    - gnutls_record_get_direction
    - mhd_SCKT_SET_LERR
    - shutdown
    - gnutls_strerror_name
    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:
    - mhd_socket_close
    - free
    - gnutls_certificate_free_credentials
    - gnutls_deinit
    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:
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - wr_send
    - wr_make_nonblocking
    - mhd_SCKT_GET_LERR
    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_make_nonblocking
    - mhd_SCKT_GET_LERR
    - wr_recv
    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
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - memcmp
    - malloc
    - mhd_SCKT_ERR_IS_EINTR
    - externalErrorExitDesc
    - mhdErrorExit
    - wr_make_nonblocking
    - mhdErrorExitDesc
    - free
    - mhd_SCKT_GET_LERR
    - wr_recv
    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
    - mhd_SCKT_ERR_IS_EAGAIN
    - testFailedExitDesc
    - mhd_SCKT_ERR_IS_EINTR
    - mhdErrorExit
    - wr_make_nonblocking
    - mhdErrorExitDesc
    - mhd_SCKT_GET_LERR
    - wr_recv
    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
    - MHD_upgraded_recv
    - malloc
    - externalErrorExitDesc
    - mhdErrorExit
    - free
    - mhdErrorExitDesc
    - memcmp
    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:
    - mhdErrorExitDesc
    - MHD_upgraded_send
    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
    - recv_upg_all
    - send_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:
    - send_all_stext
    - recv_hdr
    - recv_all
    - send_eof
    - send_all
    - 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
    - mhdErrorExitDesc
    - pthread_create
    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
    - mhdErrorExitDesc
    - memcmp
    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:
    - testFailedExitDesc
    - gnutlscli_connect
    - waitpid
    - MHD_daemon_destroy
    - MHD_daemon_get_info_fixed
    - externalErrorExitDesc
    - memcpy
    - wr_create_from_plain_sckt
    - MHD_WM_OPTION_WORKER_THREADS
    - pthread_create
    - htonl
    - MHD_daemon_create
    - MHD_D_OPTION_WORK_MODE
    - wr_create_tls_sckt
    - MHD_DAEMON_SET_OPTIONS
    - MHD_daemon_start
    - htons
    - wr_create_plain_sckt
    - wr_connect
    - MHD_D_OPTION_BIND_PORT
    - wr_make_nonblocking
    - mhdErrorExitDesc
    - pthread_join
    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:
    - mhd_SSTR_LEN
    - malloc
    - free
    - init_test_msg
    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:
    - fprintf
    - gnutls_global_init
    - mhdt_has_in_name
    - global_test_init
    - gnutls_global_deinit
    - test_upgrade
    - printf
    - fflush_allstd
    - externalErrorExitDesc
    - system
    - mhdt_has_param
    - global_test_deinit
    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:
    - strrchr
    - strlen
    - strcpy
    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:
    - fprintf
    - printf
    - mhdtl_get_system_cpu_count
    - mhdtl_get_proc_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:
    - fprintf
    - printf
    - get_cpu_core_count
    - mhdtl_get_proc_cpu_count
    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:
    - printf
    - get_cpu_core_count
    - get_process_cpu_core_count
    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:
    - fprintf
    - mhdtl_str_to_uint
    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:
    - fprintf
    - printf
    - MHD_lib_get_info_fixed
    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:
    - fprintf
    - get_param_value
    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:
    - fprintf
    - get_param_value
    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__poll
    - process_param__unique
    - process_param__empty
    - process_param__single
    - process_param__shared
    - process_param__all_cpus
    - process_param__select
    - process_param__tiny
    - process_param__jumbo
    - process_param__xlarge
    - process_param__thread_per_conn
    - process_param__threads
    - fprintf
    - process_param__large
    - process_param__connections
    - process_param__version
    - process_param__epoll
    - process_param__medium
    - process_param__timeout
    - process_param__help
    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:
    - fprintf
    - process_short_param
    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__poll
    - process_param__unique
    - process_param__empty
    - process_param__single
    - process_param__shared
    - process_param__all_cpus
    - process_param__select
    - memcmp
    - process_param__tiny
    - process_param__jumbo
    - process_param__xlarge
    - process_param__thread_per_conn
    - process_param__threads
    - fprintf
    - process_param__large
    - process_param__date_header
    - process_param__connections
    - process_param__version
    - mhd_SSTR_LEN
    - process_param__epoll
    - process_param__medium
    - process_param__timeout
    - process_param__help
    - strlen
    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
    - process_short_params_str
    - abort
    - process_long_param
    - mhdtl_str_to_uint
    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:
    - printf
    - MHD_lib_get_info_fixed
    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:
    - printf
    - get_cpu_core_count
    - get_process_cpu_core_count
    - print_all_cores_used
    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
    - printf
    - get_process_cpu_core_count
    - get_cpu_core_count
    - print_all_cores_used
    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:
    - fprintf
    - MHD_lib_get_info_fixed
    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:
    - fprintf
    - MHD_lib_get_info_fixed
    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:
    - fprintf
    - MHD_lib_get_info_fixed
    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:
    - fprintf
    - get_num_threads
    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_param__poll
    - check_apply_param__thread_per_conn
    - check_param__select
    - print_version
    - check_param__empty_tiny_medium_large_xlarge_jumbo
    - check_apply_param__threads
    - check_param__epoll
    - check_apply_param__all_cpus
    - show_help
    - check_param__connections
    - check_param__shared_single_unique
    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
    - mini_rnd
    - memcpy
    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_RESPONSE_SET_OPTIONS
    - MHD_R_OPTION_REUSABLE
    - MHD_response_from_empty
    - MHD_response_from_buffer_static
    - mhd_SSTR_LEN
    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
    - init_response_body_data
    - MHD_response_destroy
    - malloc
    - create_reusable_response_object
    - free
    - get_num_threads
    - get_cpu_core_count
    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_abort_request
    - MHD_action_from_response
    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_abort_request
    - MHD_action_from_response
    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_action_abort_request
    - MHD_action_from_response
    - MHD_response_from_empty
    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_abort_request
    - mhd_SSTR_LEN
    - MHD_action_from_response
    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_abort_request
    - MHD_action_from_response
    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:
    - fprintf
    - printf
    - MHD_lib_get_info_fixed
    linkageType: ''
    returnType: void
    signature: void print_perf_warnings (void)
  - BBCount: 7
    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: 16
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1862
    functionName: get_mhd_poll_func_name
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    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:1870,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1878
    functionName: get_mhd_bind_port
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    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:1886,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1891
    functionName: get_mhd_num_threads
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    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:1899,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1904
    functionName: get_mhd_conn_limit
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    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:1912,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1917
    functionName: get_mhd_def_timeout
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int 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:1925,1
    - Dst: abort
      Src: /src/mhd2/src/tools/perf_replies.c:1928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1920
    functionDepth: 1
    functionLinenumber: 1920
    functionLinenumberEnd: 1930
    functionName: get_mhd_suppr_date
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - MHD_daemon_get_info_fixed
    - abort
    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: 1949
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1949
    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:2104,1
    - Dst: process_params
      Src: /src/mhd2/src/tools/perf_replies.c:2105,1
    - Dst: check_apply_params
      Src: /src/mhd2/src/tools/perf_replies.c:2108,1
    - Dst: init_data
      Src: /src/mhd2/src/tools/perf_replies.c:2113,1
    - Dst: run_mhd
      Src: /src/mhd2/src/tools/perf_replies.c:2116,1
    - Dst: deinit_data
      Src: /src/mhd2/src/tools/perf_replies.c:2117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2100
    functionDepth: 8
    functionLinenumber: 2100
    functionLinenumberEnd: 2119
    functionName: main
    functionSourceFile: /src/mhd2/src/tools/perf_replies.c
    functionUses: 0
    functionsReached:
    - init_data
    - run_mhd
    - process_params
    - deinit_data
    - check_apply_params
    - set_self_name
    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:
    - CPU_COUNT_S
    - CPU_COUNT
    - CPU_ALLOC_SIZE
    - getpid
    - CPU_ISSET
    - sched_getaffinity
    - CPU_ALLOC
    - CPU_FREE
    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_COUNT_S
    - CPU_COUNT
    - CPU_ALLOC_SIZE
    - CPU_ISSET
    - CPU_ALLOC
    - cpuset_getaffinity
    - CPU_FREE
    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
    - cpuset_create
    - sched_getaffinity_np
    - cpuset_destroy
    - getpid
    - mhdtl_get_sys_cpu_count_sysctl_
    - cpuset_isset
    - sysconf
    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:
    - ptrGetProcessDefaultCpuSetMasks
    - GetProcAddress
    - LoadLibraryA
    - GetCurrentThread
    - GetProcessAffinityMask
    - ptrGetThreadGroupAffinity
    - ptrGetProcessGroupAffinity
    - GetCurrentProcess
    - FreeLibrary
    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_w32_
    - mhdtl_get_proc_cpu_count_cpuset_getaffinity_
    - mhdtl_get_proc_cpu_count_sched_getaffinity_
    - mhdtl_get_proc_cpu_count_sched_getaffinity_np_
    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:
    - vxCpuEnabledGet
    - memset
    - GetProcAddress
    - LoadLibraryA
    - ptrGetActiveProcessorCount
    - ptrGetNativeSystemInfo
    - GetSystemInfo
    - pstat_getdynamic
    - FreeLibrary
    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:
    - sysctl
    - sysctlbyname
    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:
    - sysctl
    - sysctlbyname
    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_sysconf_
    - mhdtl_get_sys_cpu_count_sysctl_fallback_
    - mhdtl_get_sys_cpu_count_sysctl_
    - mhdtl_get_sys_cpu_count_special_api_
    - mhdtl_get_proc_cpu_count
    - mhdtl_get_sys_cpu_count_sysconf_fallback_
    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:
    - va_start
    - vsnprintf
    - vsprintf
    - malloc
    - va_end
    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:
    - strcmp
    - cb
    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:
    - fprintf
    - exit
    - strrchr
    - strchr
    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:
    - isspace
    - strlen
    - strdup
    - my_asprintf
    - free
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *\nindent (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:
    - strdup
    - toupper
    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:
    - strdup
    - toupper
    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:
    - strdup
    - tolower
    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:
    - printf
    - toupper
    - uppercase
    - indent
    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
    - uppercase
    - var_name
    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:
    - fprintf
    - toupper
    - lowercase
    - indent
    - uppercase
    - var_name
    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:
    - fprintf
    - uppercase
    - dump_union
    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
    - capitalize
    - lowercase
    - indent
    - printf
    - uppercase
    - var_name
    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
    - capitalize
    - lowercase
    - indent
    - printf
    - uppercase
    - var_name
    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:
    - fprintf
    - toupper
    - capitalize
    - indent
    - uppercase
    - var_name
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:645,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:647,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:648,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:650,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:651,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:654,1
    - Dst: indent
      Src: /src/mhd2/src/include/options-generator.c:656,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:663,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:665,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:666,1
    - Dst: var_name
      Src: /src/mhd2/src/include/options-generator.c:672,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:675,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:677,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:679,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:682,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:684,1
    - Dst: lowercase
      Src: /src/mhd2/src/include/options-generator.c:685,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:689,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    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: 694
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 694
    functionName: dump_option_set_switch
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    - toupper
    - lowercase
    - indent
    - uppercase
    - var_name
    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:702,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:704,1
    - Dst: strdup
      Src: /src/mhd2/src/include/options-generator.c:706,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: parse
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 4
    functionsReached:
    - strdup
    - strncasecmp
    - strlen
    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:720,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:733,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:736,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:739,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:742,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:743,1
    - Dst: fgets
      Src: /src/mhd2/src/include/options-generator.c:753,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:757,1
    - Dst: isspace
      Src: /src/mhd2/src/include/options-generator.c:760,1
    - Dst: strncmp
      Src: /src/mhd2/src/include/options-generator.c:769,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:772,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:777,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:780,1
    - Dst: realloc
      Src: /src/mhd2/src/include/options-generator.c:783,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:784,1
    - Dst: strcat
      Src: /src/mhd2/src/include/options-generator.c:785,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:787,1
    - Dst: strcat
      Src: /src/mhd2/src/include/options-generator.c:789,1
    - Dst: malloc
      Src: /src/mhd2/src/include/options-generator.c:798,1
    - Dst: memset
      Src: /src/mhd2/src/include/options-generator.c:800,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:807,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:811,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:815,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:819,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:823,1
    - Dst: strncasecmp
      Src: /src/mhd2/src/include/options-generator.c:827,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:829,1
    - Dst: sscanf
      Src: /src/mhd2/src/include/options-generator.c:833,1
    - Dst: strlen
      Src: /src/mhd2/src/include/options-generator.c:833,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:841,1
    - Dst: snprintf
      Src: /src/mhd2/src/include/options-generator.c:850,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:854,1
    - Dst: snprintf
      Src: /src/mhd2/src/include/options-generator.c:861,1
    - Dst: parse
      Src: /src/mhd2/src/include/options-generator.c:865,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:873,1
    - Dst: exit
      Src: /src/mhd2/src/include/options-generator.c:877,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:879,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:882,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:886,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:892,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:893,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:900,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:901,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:903,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:909,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:910,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:911,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:915,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:921,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:923,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:926,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:928,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:940,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:942,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:943,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:944,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:946,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:948,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:961,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:962,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:963,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:964,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: iterate
      Src: /src/mhd2/src/include/options-generator.c:969,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:971,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: toupper
      Src: /src/mhd2/src/include/options-generator.c:984,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:985,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:986,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:988,1
    - Dst: printf
      Src: /src/mhd2/src/include/options-generator.c:989,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:995,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:998,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:999,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1002,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1005,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1008,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1015,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1017,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1019,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1020,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:1026,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:1029,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:1030,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1033,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1036,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1039,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1049,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1051,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1061,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1063,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1077,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1087,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1089,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1090,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1094,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1096,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1098,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1104,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1106,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1127,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1133,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1140,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1141,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1145,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1146,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1148,1
    - Dst: toupper
      Src: /src/mhd2/src/include/options-generator.c:1154,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1155,1
    - Dst: strcmp
      Src: /src/mhd2/src/include/options-generator.c:1158,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1160,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1166,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1169,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1170,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:1171,1
    - Dst: my_asprintf
      Src: /src/mhd2/src/include/options-generator.c:1177,1
    - Dst: unlink
      Src: /src/mhd2/src/include/options-generator.c:1180,1
    - Dst: fopen
      Src: /src/mhd2/src/include/options-generator.c:1181,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1184,1
    - Dst: strerror
      Src: /src/mhd2/src/include/options-generator.c:1187,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1190,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1208,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1209,1
    - Dst: capitalize
      Src: /src/mhd2/src/include/options-generator.c:1210,1
    - Dst: iterate
      Src: /src/mhd2/src/include/options-generator.c:1211,1
    - Dst: fprintf
      Src: /src/mhd2/src/include/options-generator.c:1213,1
    - Dst: uppercase
      Src: /src/mhd2/src/include/options-generator.c:1217,1
    - Dst: fclose
      Src: /src/mhd2/src/include/options-generator.c:1218,1
    - Dst: chmod
      Src: /src/mhd2/src/include/options-generator.c:1219,1
    - Dst: free
      Src: /src/mhd2/src/include/options-generator.c:1220,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 171
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 1224
    functionName: main
    functionSourceFile: /src/mhd2/src/include/options-generator.c
    functionUses: 0
    functionsReached:
    - toupper
    - realloc
    - strncmp
    - strcmp
    - exit
    - memset
    - chmod
    - parse
    - printf
    - free
    - strcat
    - strncasecmp
    - uppercase
    - strerror
    - fprintf
    - fclose
    - malloc
    - capitalize
    - iterate
    - my_asprintf
    - fgets
    - sscanf
    - isspace
    - fopen
    - unlink
    - strlen
    - snprintf
    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: 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: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    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: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    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: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    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: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    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: 123
    functionDepth: 0
    functionLinenumber: 123
    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:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    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: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    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: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    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: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    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: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    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: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    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: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    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: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    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: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    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_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: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    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: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 532
    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: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    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:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    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: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    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: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    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: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    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: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    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: 760
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 760
    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: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    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: 783
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 783
    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: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    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: 809
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 809
    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: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    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: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    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: 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:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 833
    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: 893
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 893
    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: 906
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 906
    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: 928
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 928
    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: 945
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 945
    functionName: MHD_D_OPTION_LOG_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    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: 966
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 966
    functionName: MHD_D_OPTION_BIND_PORT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 7
    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: 987
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 987
    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: 1005
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1005
    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: 1020
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    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: 1043
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    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: 1059
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1059
    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: 1073
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1073
    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: 1087
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    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: 1108
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1108
    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: 1122
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    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: 1137
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1137
    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: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    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: 3
    argNames:
    - (
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1168
    functionName: MHD_D_OPTION_DEFAULT_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_D_OPTION_DEFAULT_TIMEOUT(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: 1184
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1184
    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: 1198
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    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: 1213
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1213
    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: 1226
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1226
    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: 1241
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1241
    functionName: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    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: 1258
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1258
    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: 1272
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    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: 1286
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1286
    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: 1299
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    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: 1314
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1314
    functionName: MHD_D_OPTION_CONN_MEMORY_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    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: 1329
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1329
    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: 1343
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1343
    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: 1361
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1361
    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: 1376
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1376
    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: 1393
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1393
    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: 1408
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1408
    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: 1423
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1423
    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: 1438
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1438
    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: 1455
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1455
    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: 1470
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1470
    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: 1486
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1486
    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: 1505
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1505
    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: 1520
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1520
    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: 1535
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    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: 1550
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1550
    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: 1562
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1562
    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: 1582
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1582
    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: 1601
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1601
    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: 1629
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1629
    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: 1653
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1653
    functionName: MHD_D_OPTION_LOG_CALLBACK
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    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: 1681
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1681
    functionName: MHD_D_OPTION_BIND_PORT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 7
    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: 1710
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1710
    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: 1734
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1734
    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: 1755
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1755
    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: 1785
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1785
    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: 1807
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1807
    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: 1827
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1827
    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: 1847
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1847
    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: 1876
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1876
    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: 1896
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1896
    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: 1918
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1918
    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: 1938
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1938
    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: 4
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1961
    functionName: MHD_D_OPTION_DEFAULT_TIMEOUT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MHD_INLINE
    signature: "MHD_INLINE MHD_D_OPTION_DEFAULT_TIMEOUT (\n  unsigned int 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: 1983
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1983
    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: 2003
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2003
    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: 2025
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2025
    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: 2044
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2044
    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: 2066
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2066
    functionName: MHD_D_OPTION_PROTOCOL_STRICT_LEVEL
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 0
    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: 2090
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2090
    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: 2110
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2110
    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: 2130
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2130
    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: 2149
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2149
    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: 2170
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2170
    functionName: MHD_D_OPTION_CONN_MEMORY_LIMIT
    functionSourceFile: /src/mhd2/src/include/microhttpd2_generated_daemon_options.h
    functionUses: 1
    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: 2191
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2191
    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: 2211
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2211
    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: 2235
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2235
    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: 2256
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2256
    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: 2279
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2279
    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: 2300
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2300
    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: 2321
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2321
    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: 2342
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2342
    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: 2366
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2366
    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: 2388
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2388
    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: 2411
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2411
    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: 2437
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2437
    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: 2458
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2458
    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: 2479
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2479
    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: 2500
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2500
    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: 2515
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2515
    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: 1784
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1784
    functionName: MHD_status_code_to_string_lazy
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    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: 2770
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2770
    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: 2776
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2776
    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: 2781
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2781
    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: 2786
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2786
    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: 2794
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2794
    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: 2798
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2798
    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: 2802
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2802
    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: 2807
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2807
    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: 2817
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2817
    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: 2822
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2822
    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: 2827
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2827
    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: 2832
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2832
    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: 3091
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3091
    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: 3110
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3110
    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: 3129
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3129
    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: 3149
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3149
    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: 3168
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3168
    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: 3184
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3184
    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: 3204
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3204
    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: 3228
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3228
    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: 3252
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3252
    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: 3275
      start: 3267
    functionDepth: 0
    functionLinenumber: 3267
    functionLinenumberEnd: 3275
    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: 3297
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3297
    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: 3316
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3316
    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: 3742
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3742
    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: 4828
      start: 4826
    functionDepth: 0
    functionLinenumber: 4826
    functionLinenumberEnd: 4828
    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: 4841
      start: 4838
    functionDepth: 0
    functionLinenumber: 4838
    functionLinenumberEnd: 4841
    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: 4854
      start: 4851
    functionDepth: 0
    functionLinenumber: 4851
    functionLinenumberEnd: 4854
    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: 4869
      start: 4867
    functionDepth: 0
    functionLinenumber: 4867
    functionLinenumberEnd: 4869
    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: 4882
      start: 4880
    functionDepth: 0
    functionLinenumber: 4880
    functionLinenumberEnd: 4882
    functionName: MHD_D_OPTION_WM_WORKER_THREADS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 6
    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: 4893
      start: 4891
    functionDepth: 0
    functionLinenumber: 4891
    functionLinenumberEnd: 4893
    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: 4927
      start: 4925
    functionDepth: 0
    functionLinenumber: 4925
    functionLinenumberEnd: 4927
    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: 4960
      start: 4950
    functionDepth: 0
    functionLinenumber: 4950
    functionLinenumberEnd: 4960
    functionName: MHD_DAEMON_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 7
    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: 4988
      start: 4980
    functionDepth: 0
    functionLinenumber: 4980
    functionLinenumberEnd: 4988
    functionName: MHD_DAEMON_SET_OPTIONS
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 7
    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: 5060
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5060
    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: 5183
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5183
    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: 5195
      start: 5188
    functionDepth: 0
    functionLinenumber: 5188
    functionLinenumberEnd: 5195
    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: 5216
      start: 5197
    functionDepth: 0
    functionLinenumber: 5197
    functionLinenumberEnd: 5216
    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: 5231
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5231
    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: 5270
      start: 5268
    functionDepth: 0
    functionLinenumber: 5268
    functionLinenumberEnd: 5270
    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: 5300
      start: 5292
    functionDepth: 0
    functionLinenumber: 5292
    functionLinenumberEnd: 5300
    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: 5327
      start: 5319
    functionDepth: 0
    functionLinenumber: 5319
    functionLinenumberEnd: 5327
    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: 5771
      start: 5768
    functionDepth: 0
    functionLinenumber: 5768
    functionLinenumberEnd: 5771
    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: 5944
      start: 5942
    functionDepth: 0
    functionLinenumber: 5942
    functionLinenumberEnd: 5944
    functionName: MHD_action_abort_request
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 19
    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: 5980
      start: 5978
    functionDepth: 0
    functionLinenumber: 5978
    functionLinenumberEnd: 5980
    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: 6011
      start: 6003
    functionDepth: 0
    functionLinenumber: 6003
    functionLinenumberEnd: 6011
    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: 6039
      start: 6031
    functionDepth: 0
    functionLinenumber: 6031
    functionLinenumberEnd: 6039
    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: 6157
      start: 6155
    functionDepth: 0
    functionLinenumber: 6155
    functionLinenumberEnd: 6157
    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: 6174
      start: 6172
    functionDepth: 0
    functionLinenumber: 6172
    functionLinenumberEnd: 6174
    functionName: MHD_DCC_action_continue
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    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: 6214
      start: 6212
    functionDepth: 0
    functionLinenumber: 6212
    functionLinenumberEnd: 6214
    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: 6238
      start: 6236
    functionDepth: 0
    functionLinenumber: 6236
    functionLinenumberEnd: 6238
    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: 7
    argNames:
    - (
    - sc
    - ','
    - len
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6332
      start: 6330
    functionDepth: 0
    functionLinenumber: 6330
    functionLinenumberEnd: 6332
    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: 6343
      start: 6341
    functionDepth: 0
    functionLinenumber: 6341
    functionLinenumberEnd: 6343
    functionName: MHD_response_from_empty
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 15
    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: 6601
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6601
    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: 6691
      start: 6689
    functionDepth: 0
    functionLinenumber: 6689
    functionLinenumberEnd: 6691
    functionName: MHD_action_process_upload_full
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 1
    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: 6703
      start: 6701
    functionDepth: 0
    functionLinenumber: 6701
    functionLinenumberEnd: 6703
    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:8312,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/include/microhttpd2.h:8317,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/include/microhttpd2.h:8318,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/include/microhttpd2.h:8320,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: 8321
      start: 8298
    functionDepth: 1
    functionLinenumber: 8298
    functionLinenumberEnd: 8321
    functionName: MHD_action_digest_auth_challenge
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached:
    - MHD_action_from_response
    - MHD_action_abort_request
    - MHD_response_add_auth_digest_challenge
    - MHD_response_destroy
    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
    - ','
    - rlm
    - ','
    - opq
    - ','
    - dmn
    - ','
    - stl
    - ','
    - mqop
    - ','
    - malgo
    - ','
    - uh
    - ','
    - utf
    - ','
    - resp
    - )
    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: 8391
      start: 8387
    functionDepth: 0
    functionLinenumber: 8387
    functionLinenumberEnd: 8391
    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,rlm,opq,dmn,stl,mqop,malgo,
      \\\n                                           uh,utf,resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - rq
    - ','
    - rlm
    - ','
    - opq
    - ','
    - dmn
    - ','
    - stl
    - ','
    - mqop
    - ','
    - malgo
    - ','
    - uh
    - ','
    - utf
    - ','
    - resp
    - )
    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: 8458
      start: 8454
    functionDepth: 0
    functionLinenumber: 8454
    functionLinenumberEnd: 8458
    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,rlm,opq,dmn,stl,mqop,malgo,
      \\\n                                           uh,utf,resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_response_add_auth_basic_challenge
      Src: /src/mhd2/src/include/microhttpd2.h:8560,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/include/microhttpd2.h:8563,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/include/microhttpd2.h:8564,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/include/microhttpd2.h:8566,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: 8567
      start: 8552
    functionDepth: 1
    functionLinenumber: 8552
    functionLinenumberEnd: 8567
    functionName: MHD_action_basic_auth_challenge
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 0
    functionsReached:
    - MHD_action_from_response
    - MHD_action_abort_request
    - MHD_response_add_auth_basic_challenge
    - MHD_response_destroy
    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:
    - (
    - request
    - ','
    - realm
    - ','
    - prefer_utf8
    - ','
    - response
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8605
      start: 8602
    functionDepth: 0
    functionLinenumber: 8602
    functionLinenumberEnd: 8605
    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(request,realm,prefer_utf8,response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - request
    - ','
    - realm
    - ','
    - prefer_utf8
    - ','
    - response
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8638
      start: 8635
    functionDepth: 0
    functionLinenumber: 8635
    functionLinenumberEnd: 8638
    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(request,realm,prefer_utf8,response)
  - 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: 9238
      start: 9236
    functionDepth: 0
    functionLinenumber: 9236
    functionLinenumberEnd: 9238
    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:9264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9267
      start: 9259
    functionDepth: 1
    functionLinenumber: 9259
    functionLinenumberEnd: 9267
    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: 9394
      start: 9392
    functionDepth: 0
    functionLinenumber: 9392
    functionLinenumberEnd: 9394
    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: 9665
      start: 9662
    functionDepth: 0
    functionLinenumber: 9662
    functionLinenumberEnd: 9665
    functionName: MHD_daemon_get_info_fixed
    functionSourceFile: /src/mhd2/src/include/microhttpd2.h
    functionUses: 9
    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: 9795
      start: 9792
    functionDepth: 0
    functionLinenumber: 9792
    functionLinenumberEnd: 9795
    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: 9964
      start: 9961
    functionDepth: 0
    functionLinenumber: 9961
    functionLinenumberEnd: 9964
    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: 10211
      start: 10208
    functionDepth: 0
    functionLinenumber: 10208
    functionLinenumberEnd: 10211
    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: 10306
      start: 10303
    functionDepth: 0
    functionLinenumber: 10303
    functionLinenumberEnd: 10306
    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: 10393
      start: 10390
    functionDepth: 0
    functionLinenumber: 10390
    functionLinenumberEnd: 10393
    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: 10546
      start: 10543
    functionDepth: 0
    functionLinenumber: 10543
    functionLinenumberEnd: 10546
    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: 10880
      start: 10876
    functionDepth: 0
    functionLinenumber: 10876
    functionLinenumberEnd: 10880
    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: 10926
      start: 10924
    functionDepth: 0
    functionLinenumber: 10924
    functionLinenumberEnd: 10926
    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: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_data_process.c:82,1
    - Dst: mhd_conn_tls_check
      Src: /src/mhd2/src/mhd2/conn_data_process.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: process_conn_layer
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_process.c
    functionUses: 0
    functionsReached:
    - mhd_conn_tls_check
    - mhd_C_HAS_TLS
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline process_conn_layer (struct MHD_Connection *restrict
      c)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_process.c:99,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:103,1
    - Dst: process_conn_layer
      Src: /src/mhd2/src/mhd2/conn_data_process.c:109,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_process.c:118,1
    - Dst: mhd_D_IS_USING_EDGE_TRIG
      Src: /src/mhd2/src/mhd2/conn_data_process.c:127,1
    - Dst: mhd_C_HAS_TLS_DATA_IN
      Src: /src/mhd2/src/mhd2/conn_data_process.c:136,1
    - Dst: mhd_conn_data_recv
      Src: /src/mhd2/src/mhd2/conn_data_process.c:142,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:143,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:145,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:164,1
    - Dst: mhd_conn_data_send
      Src: /src/mhd2/src/mhd2/conn_data_process.c:175,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:176,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:178,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_process.c:186,1
    - Dst: mhd_conn_process_data
      Src: /src/mhd2/src/mhd2/conn_data_process.c:187,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 190
    functionName: mhd_conn_process_recv_send_data
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_process.c
    functionUses: 0
    functionsReached:
    - mhd_conn_process_data
    - mhd_D_IS_USING_EDGE_TRIG
    - mhd_assert
    - mhd_conn_data_recv
    - mhd_C_IS_HTTP2
    - process_conn_layer
    - mhd_C_HAS_TLS_DATA_IN
    - mhd_conn_data_send
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_process_recv_send_data (struct MHD_Connection
      *restrict c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:62,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:63,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:64,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:65,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:66,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:67,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:68,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mhd_SHA512_256_init
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_SHA512_256_init (struct mhd_Sha512_256CtxInt *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:108,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:180,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:180,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:181,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:181,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:182,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:182,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:183,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:183,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:184,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:184,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:185,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:185,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:186,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:186,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:187,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:187,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:188,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:188,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:189,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:189,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:190,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:190,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:191,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:191,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:192,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:192,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:193,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:193,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:194,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:194,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:195,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:195,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:204,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:204,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:205,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:206,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:206,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:207,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:208,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:208,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:209,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:210,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:210,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:211,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:212,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:212,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:213,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:214,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:214,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:215,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:216,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:216,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:217,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:218,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:218,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:219,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:220,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:220,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:221,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:222,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:222,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:223,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:224,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:224,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:225,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:226,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:226,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:227,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:228,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:228,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:229,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:230,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:230,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:231,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:232,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:232,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:233,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:234,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:234,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:235,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:244,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:244,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:245,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:246,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:246,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:247,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:248,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:248,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:249,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:250,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:250,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:251,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:252,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:252,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:253,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:254,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:254,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:255,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:256,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:256,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:257,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:258,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:258,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:259,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:260,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:260,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:261,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:262,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:262,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:263,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:264,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:264,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:265,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:266,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:266,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:267,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:268,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:268,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:269,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:270,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:270,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:271,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:272,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:272,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:273,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:274,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:274,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:275,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:276,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:276,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:277,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:278,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:278,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:279,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:280,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:280,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:281,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:282,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:282,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:283,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:284,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:284,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:285,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:286,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:286,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:287,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:288,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:288,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:289,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:290,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:290,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:291,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:292,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:292,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:293,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:294,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:294,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:295,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:296,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:296,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:297,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:298,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:298,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:299,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:300,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:300,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:301,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:302,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:302,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:303,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:304,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:304,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:305,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:306,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:306,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:307,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:308,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:308,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:309,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:310,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:310,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:311,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:312,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:312,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:313,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:314,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:314,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:315,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:316,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:316,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:317,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:318,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:318,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:319,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:320,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:320,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:321,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:322,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:322,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:323,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:324,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:324,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:325,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:326,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:326,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:327,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:328,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:328,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:329,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:330,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:330,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:331,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:332,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:332,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:333,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:334,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:334,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:335,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:336,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:336,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:337,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:338,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:338,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:339,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:340,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:340,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:341,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:342,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:342,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:343,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:344,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:344,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:345,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:346,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:346,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:347,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:348,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:348,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:349,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:350,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:350,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:351,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:352,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:352,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:353,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:354,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:354,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:355,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:356,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:356,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:357,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:358,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:358,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:359,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:360,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:360,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:361,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:362,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:362,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:363,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:364,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:364,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:365,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:366,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:366,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:367,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:368,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:368,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:369,1
    - Dst: SHA2STEP64
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:370,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:370,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:371,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:379,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:379,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:380,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:380,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:381,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:381,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:382,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:382,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:383,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:383,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:384,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:384,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:385,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:385,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:386,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:386,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:387,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:387,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:388,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:388,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:389,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:389,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:390,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:390,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:391,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:391,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:392,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:392,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:393,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:393,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:394,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:394,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:395,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:395,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:396,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:396,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:397,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:397,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:398,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:398,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:399,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:399,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:400,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:400,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:401,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:401,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:402,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:402,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:403,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:403,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:404,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:404,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:405,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:405,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:406,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:406,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:407,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:407,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:408,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:408,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:409,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:409,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:410,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:410,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:411,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:411,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:412,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:412,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:413,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:413,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:414,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:414,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:415,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:415,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:416,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:416,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:417,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:417,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:418,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:418,1
    - Dst: SHA2STEP64RV
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:444,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:445,1
    - Dst: SHA2STEP64RV
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:452,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 121
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - uint64_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 468
    functionName: sha512_256_transform
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.c
    functionUses: 0
    functionsReached:
    - GET_W_FROM_DATA
    - SHA2STEP64
    - SHA2STEP64RV
    - memcpy
    - Wgen
    - UINT64_C
    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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Wgen
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.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: 438
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: SHA2STEP64RV
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.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_int.c:480,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:494,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:503,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:508,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:516,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxInt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 526
    functionName: mhd_SHA512_256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    - sha512_256_transform
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_update (struct mhd_Sha512_256CtxInt *restrict
      ctx,\n                       size_t size,\n                       const uint8_t
      *restrict data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:572,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:575,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:581,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:587,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:589,1
    - Dst: sha512_256_transform
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:592,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:615,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:616,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:617,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:618,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:620,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:626,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:628,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:630,1
    - Dst: mhd_PUT_64BIT_BE
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:632,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha512_256_int.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxInt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 639
    functionName: mhd_SHA512_256_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_int.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - sha512_256_transform
    - mhd_PUT_64BIT_BE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_SHA512_256_finish (struct mhd_Sha512_256CtxInt *restrict
      ctx,\n                       uint8_t digest[mhd_SHA512_256_DIGEST_SIZE])"
  - 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: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    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:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 161
    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:168,1
    - Dst: shutdown
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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:188,1
    - Dst: fcntl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:196,1
    - Dst: ioctlsocket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - sckt
    argTypes:
    - MHD_Socket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 207
    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:223,1
    - Dst: htonl
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:232,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:234,1
    - Dst: bind
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:240,1
    - Dst: listen
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:243,1
    - Dst: getsockname
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:245,1
    - Dst: socket
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:249,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:255,1
    - Dst: connect
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:256,1
    - Dst: mhd_SCKT_LERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:259,1
    - Dst: accept
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:264,1
    - Dst: getsockname
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:270,1
    - Dst: mhd_socket_set_nodelay
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:277,1
    - Dst: mhd_socket_set_nodelay
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:278,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:280,1
    - Dst: mhd_socket_blocking
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:281,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:283,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:289,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:292,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/mhd_sockets_funcs.c:295,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - sckt
    - non_blk
    argTypes:
    - MHD_Socket[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 302
    functionName: mhd_socket_pair_func
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sockets_funcs.c
    functionUses: 0
    functionsReached:
    - getsockname
    - accept
    - mhd_socket_close
    - connect
    - htonl
    - mhd_socket_nonblocking
    - mhd_SCKT_LERR_IS_EAGAIN
    - mhd_socket_blocking
    - mhd_socket_set_nodelay
    - bind
    - socket
    - memcpy
    - listen
    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_daemon_get_master_daemon
    - mhd_CNTNR_PTR
    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
    - mhd_lib_global_lazy_deinit
    - abort
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - fflush
    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:
    - WSAStartup
    - MAKEWORD
    - WSACleanup
    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_assert
    - mhd_mclock_init_once
    - mhd_send_init_once
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - mhd_lib_sockets_init_w32
    - mhd_h2_huffman_init
    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_mclock_deinit
    - mhd_tls_global_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_assert
    - mhd_tls_global_re_init
    - 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_assert
    - mhd_lib_global_full_re_init
    - mhd_mutex_unlock_chk
    - abort
    - mhd_mutex_lock
    - mhd_LIB_INIT_LAZY_IS_PERFORMED
    - mhd_lib_global_full_init_once
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:63,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:64,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:65,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: mhd_MD5_init
    functionSourceFile: /src/mhd2/src/mhd2/md5_int.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_MD5_init (struct mhd_Md5CtxInt *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_int.c:99,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:171,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:171,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:172,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:172,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:173,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:173,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:174,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:174,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:176,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:176,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:177,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:177,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:178,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:178,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:179,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:179,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:181,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:181,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:182,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:182,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:183,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:183,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:184,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:184,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:186,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:186,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:187,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:187,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:188,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:188,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:189,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:189,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:197,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:197,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:198,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:199,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:199,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:200,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:201,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:201,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:202,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:203,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:203,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:204,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:206,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:206,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:207,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:208,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:208,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:209,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:210,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:210,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:211,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:212,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:212,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:213,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:215,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:215,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:216,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:217,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:217,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:218,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:219,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:219,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:220,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:221,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:221,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:222,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:224,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:224,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:225,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:226,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:226,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:227,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:228,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:228,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:229,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:230,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:230,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:231,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:236,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:236,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:237,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:237,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:238,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:238,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:239,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:239,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:241,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:241,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:242,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:242,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:243,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:243,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:244,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:244,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:246,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:246,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:247,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:247,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:248,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:248,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:249,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:249,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:251,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:251,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:252,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:252,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:253,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:253,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:254,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:254,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:258,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:258,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:259,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:259,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:260,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:260,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:261,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:261,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:263,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:263,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:264,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:264,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:265,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:265,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:266,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:266,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:268,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:268,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:269,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:269,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:270,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:270,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:271,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:271,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:273,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:273,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:274,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:274,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:275,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:275,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:276,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:276,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:280,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:280,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:281,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:281,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:282,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:282,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:283,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:283,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:285,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:285,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:286,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:286,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:287,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:287,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:288,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:288,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:290,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:290,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:291,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:291,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:292,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:292,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:293,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:293,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:295,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:295,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:296,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:296,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:297,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:297,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:305,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:307,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:309,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:311,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:313,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:315,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:317,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:319,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:321,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:323,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/md5_int.c:324,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:334,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:334,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:336,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:336,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:338,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:338,1
    - Dst: MD5STEP_R1
      Src: /src/mhd2/src/mhd2/md5_int.c:340,1
    - Dst: GET_X_FROM_DATA
      Src: /src/mhd2/src/mhd2/md5_int.c:340,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:349,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:351,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:353,1
    - Dst: MD5STEP_R2
      Src: /src/mhd2/src/mhd2/md5_int.c:355,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:364,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:366,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:368,1
    - Dst: MD5STEP_R3
      Src: /src/mhd2/src/mhd2/md5_int.c:370,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:379,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:381,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.c:383,1
    - Dst: MD5STEP_R4
      Src: /src/mhd2/src/mhd2/md5_int.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_int.c
    functionUses: 0
    functionsReached:
    - GET_X_FROM_DATA
    - MD5STEP_R4
    - MD5STEP_R1
    - MD5STEP_R3
    - UINT32_C
    - memcpy
    - MD5STEP_R2
    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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.c:409,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_int.c:422,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_int.c:427,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_int.c:435,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_int.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxInt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 445
    functionName: mhd_MD5_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_int.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - memcpy
    - md5_transform
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_update (struct mhd_Md5CtxInt *restrict ctx,\n                size_t
      size,\n                const uint8_t *restrict data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_int.c:491,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_int.c:494,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_int.c:500,1
    - Dst: mhd_PUT_64BIT_LE_UNALIGN
      Src: /src/mhd2/src/mhd2/md5_int.c:504,1
    - Dst: md5_transform
      Src: /src/mhd2/src/mhd2/md5_int.c:507,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:530,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:531,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:532,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:533,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/md5_int.c:535,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:541,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:543,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:545,1
    - Dst: mhd_PUT_32BIT_LE
      Src: /src/mhd2/src/mhd2/md5_int.c:547,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/md5_int.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxInt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 554
    functionName: mhd_MD5_finish
    functionSourceFile: /src/mhd2/src/mhd2/md5_int.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_PUT_64BIT_LE_UNALIGN
    - mhd_PUT_32BIT_LE
    - memcpy
    - md5_transform
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_finish (struct mhd_Md5CtxInt *restrict ctx,\n                uint8_t
      digest[mhd_MD5_DIGEST_SIZE])"
  - 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: 22
    functionsReached:
    - mhd_h2_act_is_resp_h2_compatible
    - mhd_REQ_GET_ACT_HEAD
    - mhd_response_dec_use_count
    - mhd_assert
    - mhd_response_check_frozen_freeze
    - mhd_response_inc_use_count
    - mhd_D_HAS_AUTH_DIGEST
    - mhd_CNTNR_CPTR
    - mhd_REQ_IS_HTTP2
    - mhd_RESP_HAS_AUTH_DIGEST
    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: 0
    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: 212
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 212
    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:231,1
    - Dst: mhd_upgrade_prep_for_action
      Src: /src/mhd2/src/mhd2/action.c:240,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: 252
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 252
    functionName: MHD_action_upgrade
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 1
    functionsReached:
    - mhd_REQ_IS_HTTP2
    - mhd_upgrade_prep_for_action
    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:270,1
    - Dst: mhd_upgrade_prep_for_action
      Src: /src/mhd2/src/mhd2/action.c:279,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: 291
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 291
    functionName: MHD_upload_action_upgrade
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 0
    functionsReached:
    - mhd_REQ_IS_HTTP2
    - mhd_upgrade_prep_for_action
    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:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 308
    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:316,1
    - Dst: mhd_response_check_frozen_freeze
      Src: /src/mhd2/src/mhd2/action.c:320,1
    - Dst: mhd_response_inc_use_count
      Src: /src/mhd2/src/mhd2/action.c:321,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:324,1
    - Dst: mhd_h2_act_is_resp_h2_compatible
      Src: /src/mhd2/src/mhd2/action.c:326,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:330,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:339,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:343,1
    - Dst: mhd_D_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/action.c:344,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/action.c:345,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/action.c:348,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/action.c:350,1
    - Dst: mhd_REQ_IS_HTTP2
      Src: /src/mhd2/src/mhd2/action.c:350,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: 363
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 363
    functionName: MHD_upload_action_from_response
    functionSourceFile: /src/mhd2/src/mhd2/action.c
    functionUses: 3
    functionsReached:
    - mhd_REQ_GET_ACT_UPLD
    - mhd_h2_act_is_resp_h2_compatible
    - mhd_assert
    - mhd_response_dec_use_count
    - mhd_response_check_frozen_freeze
    - mhd_response_inc_use_count
    - mhd_D_HAS_AUTH_DIGEST
    - mhd_CNTNR_CPTR
    - mhd_REQ_IS_HTTP2
    - mhd_RESP_HAS_AUTH_DIGEST
    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:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 377
    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:102,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - msg_len
    - cls
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    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:
    - Dst: OpenSSL_version_num
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:123,1
    - Dst: OPENSSL_init_ssl
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: mhd_tls_open_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - OpenSSL_version_num
    - OPENSSL_init_ssl
    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: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    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:160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:161,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:165,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:169,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:173,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: 180
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: check_app_tls_sessings
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_app_tls_sessings (struct MHD_Daemon
      *restrict d,\n                        bool sk_edge_trigg,\n                        struct
      DaemonOptions *restrict s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:192,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - cls
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: null_passwd_cb
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: "int null_passwd_cb (char *buf,\n                int size,\n                int
      rwflag,\n                void *cls)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:215,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:221,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:222,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:230,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:234,1
    - Dst: CONF_get1_default_config_file
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:236,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:238,1
    - Dst: NCONF_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:245,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:248,1
    - Dst: NCONF_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:251,1
    - Dst: ERR_peek_last_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:257,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:258,1
    - Dst: ERR_GET_LIB
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:263,1
    - Dst: ERR_GET_REASON
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:264,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:267,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:268,1
    - Dst: NCONF_get_section
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:281,1
    - Dst: CONF_modules_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:285,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:291,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:293,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:294,1
    - Dst: CONF_modules_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:299,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:303,1
    - Dst: CONF_modules_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:310,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:316,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:318,1
    - Dst: CONF_modules_load
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:322,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:326,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:332,1
    - Dst: NCONF_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:335,1
    - Dst: OPENSSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:337,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:348,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:349,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsOpenDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 352
    functionName: daemon_init_lib_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - NCONF_load
    - CONF_modules_load
    - OSSL_LIB_CTX_new
    - CONF_get1_default_config_file
    - NCONF_new_ex
    - OSSL_LIB_CTX_free
    - OPENSSL_free
    - ERR_GET_REASON
    - NCONF_free
    - NCONF_get_section
    - ERR_GET_LIB
    - OSSL_LIB_CTX_get_conf_diagnostics
    - mhd_LOG_MSG
    - ERR_clear_error
    - mhd_LOG_FMT
    - ERR_peek_last_error
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_LOG_PRINT
    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:362,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    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: 425
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 425
    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:453,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:453,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: 462
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 462
    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:485,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:487,1
    - Dst: SSL_CTX_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:489,1
    - Dst: TLS_server_method
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:491,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:494,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:495,1
    - Dst: SSL_CTX_set_options
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:524,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:528,1
    - Dst: SSL_CTX_set_mode
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:535,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:538,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:542,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:568,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:570,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:574,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: 580
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 580
    functionName: daemon_init_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_read_ahead
    - mhd_assert
    - SSL_CTX_set_options
    - SSL_CTX_set_mode
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_new_ex
    - mhd_LOG_MSG
    - ERR_clear_error
    - SSL_CTX_clear_mode
    - SSL_CTX_set_alpn_select_cb
    - TLS_server_method
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_UNREACHABLE
    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:590,1
    - Dst: SSL_CTX_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: daemon_deinit_ctx
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - SSL_CTX_free
    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:615,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:619,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:620,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:625,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:630,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:631,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:637,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:640,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:641,1
    - Dst: ERR_peek_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:647,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:648,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:652,1
    - Dst: X509_new_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:659,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:663,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:664,1
    - Dst: PEM_read_bio_X509
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:668,1
    - Dst: ERR_peek_last_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:674,1
    - Dst: ERR_GET_LIB
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:678,1
    - Dst: ERR_GET_REASON
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:679,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:682,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:683,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:685,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:693,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:700,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:709,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:710,1
    - Dst: X509_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:717,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:719,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: 721
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 721
    functionName: daemon_load_certs_chain_obio
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - X509_free
    - PEM_read_bio_X509
    - SSL_CTX_use_certificate
    - mhd_assert
    - SSL_CTX_add0_chain_cert
    - ERR_GET_REASON
    - ERR_peek_last_error
    - ERR_GET_LIB
    - mhd_LOG_MSG
    - ERR_clear_error
    - PEM_read_bio_X509_AUX
    - X509_new_ex
    - ERR_peek_error
    - mhd_DBG_PRINT_TLS_ERRS
    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:740,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:741,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:743,1
    - Dst: BIO_new_mem_buf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:745,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:749,1
    - Dst: daemon_load_certs_chain_obio
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:752,1
    - Dst: BIO_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:755,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: 757
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 757
    functionName: daemon_load_certs_chain
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - mhd_assert
    - BIO_new_mem_buf
    - daemon_load_certs_chain_obio
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    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:780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:781,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:783,1
    - Dst: daemon_load_certs_chain
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:785,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:794,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:803,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:804,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:809,1
    - Dst: BIO_new_mem_buf
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:811,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:815,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:819,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:823,1
    - Dst: BIO_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:826,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:829,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:830,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:835,1
    - Dst: EVP_PKEY_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:837,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:840,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:841,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:848,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:850,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:851,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: 857
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 857
    functionName: daemon_init_cert
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_build_cert_chain
    - mhd_assert
    - daemon_load_certs_chain
    - mhd_DROP_CONST
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - PEM_read_bio_PrivateKey_ex
    - mhd_LOG_MSG
    - ERR_clear_error
    - SSL_CTX_check_private_key
    - mhd_DBG_PRINT_TLS_ERRS
    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:871,1
    - Dst: check_app_tls_sessings
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:873,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:878,1
    - Dst: daemon_init_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:883,1
    - Dst: daemon_init_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:888,1
    - Dst: daemon_init_cert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:893,1
    - Dst: daemon_deinit_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:900,1
    - Dst: daemon_deinit_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:902,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:904,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:906,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: 908
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 908
    functionName: mhd_tls_open_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - daemon_deinit_lib_ctx
    - mhd_calloc
    - daemon_deinit_ctx
    - check_app_tls_sessings
    - free
    - daemon_init_lib_ctx
    - daemon_init_ctx
    - daemon_init_cert
    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:915,1
    - Dst: daemon_deinit_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:916,1
    - Dst: daemon_deinit_lib_ctx
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:917,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsOpenDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: mhd_tls_open_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - daemon_deinit_lib_ctx
    - free
    - daemon_deinit_ctx
    linkageType: ''
    returnType: void
    signature: void mhd_tls_open_daemon_deinit (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: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    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:939,1
    - Dst: SSL_new
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:945,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:949,1
    - Dst: SSL_set_fd
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:953,1
    - Dst: SSL_set_accept_state
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:955,1
    - Dst: SSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:963,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: 966
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 966
    functionName: mhd_tls_open_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - SSL_new
    - SSL_set_fd
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    - SSL_set_accept_state
    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:972,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:973,1
    - Dst: SSL_free
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 975
    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:986,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:987,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:988,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:989,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:990,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:992,1
    - Dst: SSL_do_handshake
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:994,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1004,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1035,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1036,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1046
    functionName: mhd_tls_open_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - mhd_assert
    - SSL_do_handshake
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    - mhd_UNREACHABLE
    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:1055,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1056,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1057,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1059,1
    - Dst: SSL_shutdown
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1061,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1080,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1112,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1123
    functionName: mhd_tls_open_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - mhd_assert
    - SSL_shutdown
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    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:1133,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1141,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1143,1
    - Dst: SSL_read_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1151,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1155,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1177,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1180,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1183,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1193,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: 1198
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1198
    functionName: mhd_tls_open_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_read_ex
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    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:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1205
    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:1213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1218,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1219,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1220,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1221,1
    - Dst: ERR_clear_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1223,1
    - Dst: SSL_write_ex
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1225,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1231,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1235,1
    - Dst: SSL_get_error
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1237,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1257,1
    - Dst: mhd_DBG_PRINT_TLS_ERRS
      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:1273,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: 1278
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1278
    functionName: mhd_tls_open_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_write_ex
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - ERR_clear_error
    - mhd_DBG_PRINT_TLS_ERRS
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_open_conn_send (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: 1290
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1290
    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:1300,1
    - Dst: SSL_version
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1302,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: 1324
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1324
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_alpn_selected
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1333,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1341,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1352,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1359,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_open_funcs.c:1365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsOpenConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1371
    functionName: mhd_tls_open_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_open_funcs.c
    functionUses: 0
    functionsReached:
    - SSL_get0_alpn_selected
    - SSL_get0_next_proto_negotiated
    - memcmp
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_open_conn_get_alpn_prot (struct mhd_TlsOpenConnData
      *restrict c_tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_init
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:69,1
    - Dst: mbedtls_sha512_starts_ret
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:71,1
    - Dst: mbedtls_sha512_free
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:75,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:76,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:80,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: init512_256
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha512_init
    - mbedtls_sha512_free
    - mhd_assert
    - free
    - memcpy
    - mbedtls_sha512_starts_ret
    linkageType: ''
    returnType: void
    signature: void init512_256 (struct mhd_Sha512_256CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:99,1
    - Dst: init512_256
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:107,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: mhd_SHA512_256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - malloc
    - init512_256
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_init_one_time (struct mhd_Sha512_256CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:128,1
    - Dst: mbedtls_sha512_update_ret
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: mhd_SHA512_256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mbedtls_sha512_update_ret
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_update (struct mhd_Sha512_256CtxExt *ctx,\n                       size_t
      size,\n                       const uint8_t *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_finish_ret
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:149,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:155,1
    - Dst: init512_256
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: mhd_SHA512_256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mbedtls_sha512_finish_ret
    - init512_256
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_finish_reset (struct mhd_Sha512_256CtxExt *ctx,\n
      \                            uint8_t digest[mhd_SHA512_256_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha512_free
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:176,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: mhd_SHA512_256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha512_free
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_deinit (struct mhd_Sha512_256CtxExt *ctx)
  - 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: 45
    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:175,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:192,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    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: 232
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 232
    functionName: MHD_daemon_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/daemon_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_MASTER
    - mhd_assert
    - mhd_D_IS_USING_EPOLL
    - mhd_D_HAS_TLS
    - mhd_WM_INT_HAS_THREADS
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_UNREACHABLE
    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:244,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:244,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:253,1
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:257,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:269,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_get_info.c:276,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: 298
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 298
    functionName: MHD_daemon_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/daemon_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_MASTER
    - mhd_daemon_get_wait_max
    - mhd_assert
    - mhd_D_HAS_WORKERS
    - mhd_WM_INT_HAS_THREADS
    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_assert
    - strlen
    - mhd_str_equal_caseless_bin_n
    - mhd_h2_request_get_value_n
    - mhd_DLINKEDL_GET_NEXT
    - mhd_REQ_IS_HTTP2
    - 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: 4
    functionsReached:
    - mhd_request_get_value_n
    - strlen
    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_assert
    - mhd_str_equal_caseless_bin_n
    - mhd_DLINKEDL_GET_NEXT
    - mhd_str_has_token_caseless
    - 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:
    - mhd_h2_request_get_values_cb
    - iterator
    - mhd_DLINKEDL_GET_NEXT
    - mhd_REQ_IS_HTTP2
    - 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_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_NEXT
    - iterator
    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: []
    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: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: mhd_str_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    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: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    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: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: mhd_str_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: mhd_str_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    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: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    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: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: mhd_strx_to_uint32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: mhd_strx_to_uint32_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: mhd_strx_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: mhd_strx_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: mhd_uint16_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.h
    functionUses: 1
    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: 747
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 747
    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: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    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: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:61,1
    - Dst: gnutls_free
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:69,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: mhd_SHA256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_init
    - mhd_assert
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_init_one_time (struct mhd_Sha256CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:92,1
    - Dst: gnutls_hash
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: mhd_SHA256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_update (struct mhd_Sha256CtxExt *ctx,\n                   size_t
      size,\n                   const uint8_t *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_output
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: mhd_SHA256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_output
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_finish_reset (struct mhd_Sha256CtxExt *ctx,\n                         uint8_t
      digest[mhd_SHA256_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/mhd2/src/mhd2/sha256_ext_gnutls.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: mhd_SHA256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_deinit (struct mhd_Sha256CtxExt *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mhd_SHA512_256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_init_one_time(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: mhd_SHA512_256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: mhd_SHA512_256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish_reset(ctx,digest)
  - 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: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: mhd_SHA512_256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish_deinit(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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: mhd_SHA512_256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_finish_deinit(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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: mhd_SHA512_256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: mhd_SHA512_256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha512_256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA512_256_has_err(ctx)
  - 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: 10
    functionsReached:
    - mhd_lib_init_global_if_needed
    - fprintf
    - free
    - mhd_calloc
    - fflush
    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:
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:63,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:64,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:65,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:66,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:67,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:68,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:69,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mhd_SHA256_init
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_SHA256_init (struct mhd_Sha256CtxInt *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_int.c:102,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:175,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:175,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:176,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:176,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:177,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:177,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:178,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:178,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:179,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:179,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:180,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:180,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:181,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:181,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:182,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:182,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:183,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:183,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:184,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:184,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:185,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:185,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:186,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:186,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:187,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:187,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:188,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:188,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:189,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:189,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:190,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:190,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:199,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:199,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:200,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:201,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:201,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:202,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:203,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:203,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:204,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:205,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:205,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:206,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:207,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:207,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:208,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:209,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:209,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:210,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:211,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:211,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:212,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:213,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:213,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:214,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:215,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:215,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:216,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:217,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:217,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:218,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:219,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:219,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:220,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:221,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:221,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:222,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:223,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:223,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:224,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:225,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:225,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:226,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:227,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:227,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:228,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:229,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:229,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:230,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:238,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:238,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:239,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:240,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:240,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:241,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:242,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:242,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:243,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:244,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:244,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:245,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:246,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:246,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:247,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:248,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:248,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:249,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:250,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:250,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:251,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:252,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:252,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:253,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:254,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:254,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:255,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:256,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:256,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:257,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:258,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:258,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:259,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:260,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:260,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:261,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:262,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:262,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:263,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:264,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:264,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:265,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:266,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:266,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:267,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:268,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:268,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:269,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:270,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:270,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:271,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:272,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:272,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:273,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:274,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:274,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:275,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:276,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:276,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:277,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:278,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:278,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:279,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:280,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:280,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:281,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:282,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:282,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:283,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:284,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:284,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:285,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:286,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:286,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:287,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:288,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:288,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:289,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:290,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:290,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:291,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:292,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:292,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:293,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:294,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:294,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:295,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:296,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:296,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:297,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:298,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:298,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:299,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:300,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:300,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:301,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:302,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:302,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:303,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:304,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:305,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:306,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:306,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:307,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:308,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:308,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:309,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:310,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:310,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:311,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:312,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:312,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:313,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:314,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:314,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:315,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:316,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:316,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:317,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:318,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:318,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:319,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:320,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:320,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:321,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:322,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:322,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:323,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:324,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:324,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:325,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:326,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:326,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:327,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:328,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:328,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:329,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:330,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:330,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:331,1
    - Dst: SHA2STEP32
      Src: /src/mhd2/src/mhd2/sha256_int.c:332,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:332,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:333,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:341,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:342,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:343,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:344,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:345,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:346,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:347,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:348,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:349,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:350,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:351,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:352,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:353,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:354,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:355,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:356,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:357,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:358,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:359,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:360,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:361,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/sha256_int.c:362,1
    - Dst: SHA2STEP32RV
      Src: /src/mhd2/src/mhd2/sha256_int.c:386,1
    - Dst: GET_W_FROM_DATA
      Src: /src/mhd2/src/mhd2/sha256_int.c:387,1
    - Dst: SHA2STEP32RV
      Src: /src/mhd2/src/mhd2/sha256_int.c:395,1
    - Dst: Wgen
      Src: /src/mhd2/src/mhd2/sha256_int.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 105
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - uint32_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 410
    functionName: sha256_transform
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.c
    functionUses: 0
    functionsReached:
    - GET_W_FROM_DATA
    - SHA2STEP32
    - SHA2STEP32RV
    - UINT32_C
    - memcpy
    - Wgen
    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_int.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_int.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_int.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_int.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_int.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_int.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_int.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_int.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: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: Wgen
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.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: 380
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: SHA2STEP32RV
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.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_int.c:421,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_int.c:434,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_int.c:439,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_int.c:447,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_int.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxInt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 457
    functionName: mhd_SHA256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.c
    functionUses: 0
    functionsReached:
    - sha256_transform
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_update (struct mhd_Sha256CtxInt *restrict ctx,\n                   size_t
      size,\n                   const uint8_t *restrict data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_int.c:494,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_int.c:497,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_int.c:503,1
    - Dst: mhd_PUT_64BIT_BE_UNALIGN
      Src: /src/mhd2/src/mhd2/sha256_int.c:506,1
    - Dst: sha256_transform
      Src: /src/mhd2/src/mhd2/sha256_int.c:509,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:531,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:532,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:533,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:534,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:535,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:536,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:537,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:538,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/sha256_int.c:540,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:546,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:548,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:550,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:552,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:554,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:556,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:558,1
    - Dst: mhd_PUT_32BIT_BE
      Src: /src/mhd2/src/mhd2/sha256_int.c:560,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/sha256_int.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxInt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 567
    functionName: mhd_SHA256_finish
    functionSourceFile: /src/mhd2/src/mhd2/sha256_int.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_PUT_32BIT_BE
    - mhd_PUT_64BIT_BE_UNALIGN
    - sha256_transform
    - memcpy
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_SHA256_finish (struct mhd_Sha256CtxInt *restrict
      ctx,\n                   uint8_t digest[mhd_SHA256_DIGEST_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    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: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    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: 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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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:
    - memcpy
    - mhd_GET_64BIT_LE
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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: 1
    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:70,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:71,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:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 83
    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:91,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:92,1
    - 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_mutex_init
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:103,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:106,1
    - Dst: mhd_conn_start_closing_no_sys_res
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:109,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:112,1
    - Dst: mhd_stream_release_write_buffer
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:113,1
    - Dst: mhd_conn_pre_upgrade
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:114,1
    - Dst: mhd_conn_pre_clean_part1
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:116,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:121,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:122,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      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_FIRST
      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_LAST
      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: struct mhd_UpgradeActionData*::cb
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 132
    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_conn_pre_upgrade
    - mhd_DLINKEDL_GET_PREV
    - mhd_mutex_init
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    - mhd_conn_pre_clean_part1
    - struct mhd_UpgradeActionData*::cb
    - mhd_LOG_MSG
    - mhd_DLINKEDL_GET_NEXT
    - mhd_stream_release_write_buffer
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_LAST
    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:146,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:147,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:148,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - urh
    argTypes:
    - struct MHD_UpgradedHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: MHD_upgraded_close
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 1
    functionsReached:
    - mhd_daemon_trigger_itc
    - mhd_DLINKEDL_INS_LAST
    - mhd_mutex_lock_chk
    - mhd_mutex_unlock_chk
    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:159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:161,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/upgrade_proc.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: mhd_upgraded_deinit
    functionSourceFile: /src/mhd2/src/mhd2/upgrade_proc.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_mutex_destroy_chk
    linkageType: ''
    returnType: void
    signature: void mhd_upgraded_deinit (struct MHD_Connection *restrict c)
  - 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_remove_auth_digest_headers
    - mhd_response_deinit_reusable
    - free
    - mhd_response_remove_all_headers
    - mhd_response_deinit_content_data
    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_assert
    - response_full_deinit
    - mhd_atomic_counter_get_dec
    - MHD_PANIC
    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_assert
    - MHD_PANIC
    - mhd_atomic_counter_inc
    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_assert
    - mhd_response_dec_use_count
    - response_full_deinit
    - mhd_atomic_counter_get_dec
    - free
    - MHD_PANIC
    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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 0
    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: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 0
    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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 0
    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: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: mhd_ASSUME
    functionSourceFile: /src/mhd2/src/mhd2/mhd_assume.h
    functionUses: 0
    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: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    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: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    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: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    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: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    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: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    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: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    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: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    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: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    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: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    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: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    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: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    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: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    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: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    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: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    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: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    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: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    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: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    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: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    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: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    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:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 779
    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: 785
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 785
    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: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    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: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    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: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    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: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    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: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    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: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    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: 828
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 828
    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: 833
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 833
    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: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    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: 844
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 844
    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: 1147
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1147
    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: 1285
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1285
    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: 1287
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1287
    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: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    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: 1294
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1294
    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: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: mhd_D_HAS_EDGE_TRIGG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 0
    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: 1305
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1305
    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: 1307
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1307
    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: 1313
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1313
    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: 1315
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1315
    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: 1319
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1319
    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: 1321
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1321
    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: 1324
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1324
    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: 1326
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1326
    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: 1329
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1329
    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: 1333
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1333
    functionName: mhd_D_IS_USING_EDGE_TRIG
    functionSourceFile: /src/mhd2/src/mhd2/mhd_daemon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_D_IS_USING_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: 1339
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1339
    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: 1344
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1344
    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: 1351
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1351
    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: 1353
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1353
    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: 1357
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1357
    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: 1358
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1358
    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: 1360
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1360
    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: 1361
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1361
    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: 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: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    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:99,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:108,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/conn_data_send.c:111,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:113,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:147,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:161,1
    - Dst: mhd_send_hdr_and_body
      Src: /src/mhd2/src/mhd2/conn_data_send.c:169,1
    - Dst: mhd_send_hdr_and_body
      Src: /src/mhd2/src/mhd2/conn_data_send.c:184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:197,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:204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:206,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:228,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:229,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:230,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:240,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:241,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:248,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:257,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:262,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:265,1
    - Dst: mhd_assert
      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_send_iovec
      Src: /src/mhd2/src/mhd2/conn_data_send.c:279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:287,1
    - Dst: mhd_send_sendfile
      Src: /src/mhd2/src/mhd2/conn_data_send.c:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:303,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:325,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:331,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:339,1
    - Dst: check_write_done
      Src: /src/mhd2/src/mhd2/conn_data_send.c:350,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/conn_data_send.c:356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:392,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_send.c:393,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_send.c:397,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_data_send.c:398,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 152
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 401
    functionName: mhd_conn_data_send
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_send.c
    functionUses: 1
    functionsReached:
    - mhd_send_hdr_and_body
    - mhd_send_sendfile
    - mhd_assert
    - mhd_UNREACHABLE
    - mhd_C_IS_HTTP2
    - mhd_SSTR_LEN
    - check_write_done
    - mhd_send_data
    - mhd_send_iovec
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_data_send (struct MHD_Connection *restrict c)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/stream_process_request.c:480,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:486,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:487,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:487,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:488,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:490,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:492,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:494,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: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:500,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:500,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:501,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:503,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:505,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:507,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: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:512,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:519,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:520,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:520,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:521,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:525,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:527,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: memcmp
      Src: /src/mhd2/src/mhd2/stream_process_request.c:532,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:534,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:538,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:538,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - len
    - mtd
    argTypes:
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 546
    functionName: mhd_parse_http_method
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_SSTR_LEN
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - memcmp
    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:559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:560,1
    - Dst: mhd_parse_http_method
      Src: /src/mhd2/src/mhd2/stream_process_request.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: parse_http_std_method
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_parse_http_method
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ parse_http_std_method (struct MHD_Connection
      *restrict connection)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:582,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:592,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:618,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:628,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - connection
    - http_string
    - len
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 632
    functionName: parse_http_version
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    linkageType: ''
    returnType: bool
    signature: "bool parse_http_version (struct MHD_Connection *restrict connection,\n
      \                   const char *restrict http_string,\n                    size_t
      len)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ALLOW_BARE_LF_AS_CRLF
      Src: /src/mhd2/src/mhd2/stream_process_request.c:668,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:692,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:696,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:703,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:717,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:718,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:719,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:720,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:721,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:722,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:723,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:724,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:757,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:795,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:798,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:828,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:833,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:856,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:861,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:878,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:879,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:896,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:927,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:928,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:930,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:942,1
    - Dst: parse_http_version
      Src: /src/mhd2/src/mhd2/stream_process_request.c:943,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:948,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:955,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:961,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:965,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:969,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:981,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:986,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1004,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1005,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1016,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1018,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1042,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1043,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1044,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1045,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1046,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1049,1
    - Dst: parse_http_std_method
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1056,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1066,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1069,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1082,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1087,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1131,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1143,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1167,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1176,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1184,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 255
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 1195
    functionName: get_request_line_inner
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - parse_http_version
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_STREAM_ABORT
    - parse_http_std_method
    - mhd_ALLOW_BARE_LF_AS_CRLF
    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:1213,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: 1214
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    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:1228,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1266,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1270,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1285,1
    - Dst: cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1292,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: 1296
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1296
    functionName: mhd_parse_uri_args
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - cb
    - mhd_str_pct_decode_lenient_n
    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:1310,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1311,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1316,1
    - Dst: struct MHD_Connection*::daemon::req_cfg::uri_cb::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1340,1
    - Dst: mhd_parse_uri_args
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1345,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1350,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1353,1
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1355,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1368,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1368,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1382
    functionName: process_request_target
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - struct MHD_Connection*::daemon::req_cfg::uri_cb::cb
    - mhd_parse_uri_args
    - mhd_stream_get_no_space_err_status_code
    - mhd_assert
    - strlen
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_LOG_MSG
    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:1404,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1411,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1412,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1413,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1420,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1422,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1437,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1438,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1439,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1467,1
    - Dst: mhd_RESPOND_WITH_ERROR_HEADER
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1470,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1477
    functionName: send_redirect_fixed_rq_target
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - malloc
    - mhd_SSTR_LEN
    - mhd_STREAM_ABORT
    - memcpy
    - mhd_RESPOND_WITH_ERROR_HEADER
    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:1490,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1493,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1510,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_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1518,1
    - Dst: send_redirect_fixed_rq_target
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1525,1
    - Dst: process_request_target
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1480
    functionDepth: 4
    functionLinenumber: 1480
    functionLinenumberEnd: 1534
    functionName: mhd_stream_get_request_line
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    - process_request_target
    - send_redirect_fixed_rq_target
    - get_request_line_inner
    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:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1543
    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:1564,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1568,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: 1571
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1571
    functionName: handle_req_headers_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_get_no_space_err_status_code
    - mhd_RESPOND_WITH_ERROR_STATIC
    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:1591,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1594,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: 1598
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1598
    functionName: handle_req_footers_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    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:1646,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1683,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1689,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1696,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1701,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1703,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1705,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1708,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1743,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1747,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1772,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1793,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1800,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1801,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1802,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1803,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1804,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1814,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1823,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1827,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1844,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1850,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1852,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1862,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1866,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1884,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1892,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1896,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1906,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1907,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1913,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1919,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1935,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1939,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1958,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1962,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1981,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1985,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1997,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1998,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:1999,1
    - Dst: mhd_assert
      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:2018,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2031,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2048,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2052,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2056,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: 2085
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 2085
    functionName: get_req_header
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_LOG_MSG
    - mhd_ALLOW_BARE_LF_AS_CRLF
    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:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2099
    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:2112,1
    - Dst: get_req_header
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2123,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2126,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2129,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2130,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2130,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2133,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2134,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2142,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2153,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2156,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2160,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2168,1
    - Dst: handle_req_footers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2170,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2172,1
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2177,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2199,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2206,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2210,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2217,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2218,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2223,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2224,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2234,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2237,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2243,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2244,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2248,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2249,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2258,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2283,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2286,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 2
    argNames:
    - c
    - process_footers
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2102
    functionDepth: 2
    functionLinenumber: 2102
    functionLinenumberEnd: 2297
    functionName: mhd_stream_get_request_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_reset_rq_hdr_proc_state
    - get_req_header
    - mhd_LOG_PRINT
    - mhd_assert
    - strlen
    - handle_req_headers_no_space
    - handle_req_footers_no_space
    - mhd_LOG_MSG
    - mhd_LOG_FMT
    - mhd_DLINKEDL_GET_LAST
    - mhd_stream_add_field
    - memmove
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_get_request_headers (struct MHD_Connection
      *restrict c,\n                                bool process_footers)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2472,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2478,1
    - Dst: mhd_stream_add_field
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2492,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2501,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2502,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 125
    argCount: 4
    argNames:
    - str_len
    - str
    - strictness
    - s
    argTypes:
    - size_t
    - char*
    - enum MHD_ProtocolStrictLevel
    - struct MHD_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2531
    functionName: parse_cookies_string
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_stream_add_field
    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:2558,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2564,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2567,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2570,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2571,1
    - Dst: parse_cookies_string
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2574,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2586,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2599,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2604,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2609,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2613,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2618,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: 2623
      start: 2541
    functionDepth: 2
    functionLinenumber: 2541
    functionLinenumberEnd: 2623
    functionName: parse_cookie_header
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - parse_cookies_string
    - mhd_stream_alloc_memory
    - mhd_assert
    - mhd_LOG_MSG
    - memcpy
    - mhd_UNREACHABLE
    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:2636,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2643
    functionName: handle_req_cookie_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_get_no_space_err_status_code
    - mhd_RESPOND_WITH_ERROR_STATIC
    linkageType: ''
    returnType: mhd_static_inline
    signature: mhd_static_inline handle_req_cookie_no_space (struct MHD_Connection
      *restrict c)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2670,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2672,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2678,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2685,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2687,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2697,1
    - Dst: mhd_str_to_uint64_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2704,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2713,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2716,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2724,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2727,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2741,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2749,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2757,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2764,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2772,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2776,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2780,1
    - Dst: mhd_str_has_token_caseless
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2786,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2788,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2796,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2800,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2809,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2812,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2824,1
    - Dst: parse_cookie_header
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2829,1
    - Dst: handle_req_cookie_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2832,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2840,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2844,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2852,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2855,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2870,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2879,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2880,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2891,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2893,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 119
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2649
    functionDepth: 3
    functionLinenumber: 2649
    functionLinenumberEnd: 2909
    functionName: mhd_stream_parse_request_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - handle_req_cookie_no_space
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_str_to_uint64_n
    - parse_cookie_header
    - mhd_LOG_MSG
    - mhd_DLINKEDL_GET_NEXT
    - mhd_str_has_token_caseless
    - mhd_SSTR_LEN
    - mhd_str_equal_caseless_n_st
    - 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:2922,1
    - Dst: MHD_HTTP_VERSION_IS_SUPPORTED
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2922,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2923,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2919
    functionDepth: 1
    functionLinenumber: 2919
    functionLinenumberEnd: 2939
    functionName: need_100_continue
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - MHD_HTTP_VERSION_IS_SUPPORTED
    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:2953,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2973,1
    - Dst: mhd_daemon_get_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2979,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:2989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2950
    functionDepth: 1
    functionLinenumber: 2950
    functionLinenumberEnd: 2996
    functionName: check_and_alloc_buf_for_upload_processing
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_daemon_get_lbuf
    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:3006,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3007,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3010,1
    - Dst: struct MHD_Daemon*::req_cfg::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3016,1
    - Dst: mhd_ACTION_IS_VALID
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3024,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3026,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3033,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3034,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3051,1
    - Dst: check_and_alloc_buf_for_upload_processing
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3071,1
    - Dst: need_100_continue
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3073,1
    - Dst: mhd_stream_prepare_for_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3091,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3093,1
    - Dst: need_100_continue
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3096,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3107,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3115,1
    - Dst: mhd_conn_start_closing_app_abort
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3124,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3127,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 2999
    functionDepth: 2
    functionLinenumber: 2999
    functionLinenumberEnd: 3129
    functionName: mhd_stream_call_app_request_cb
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - fprintf
    - struct MHD_Daemon*::req_cfg::cb
    - mhd_assert
    - mhd_response_dec_use_count
    - check_and_alloc_buf_for_upload_processing
    - mhd_conn_start_closing_app_abort
    - mhd_LOG_MSG
    - MHD_PANIC
    - mhd_ACTION_IS_VALID
    - mhd_stream_prepare_for_post_parse
    - need_100_continue
    - mhd_UNREACHABLE
    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:3149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3157,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3158,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3170,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3176,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3192,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3197,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3206,1
    - Dst: mhd_conn_start_closing_app_abort
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3216,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3219,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: 3221
      start: 3141
    functionDepth: 2
    functionLinenumber: 3141
    functionLinenumberEnd: 3221
    functionName: mhd_stream_process_upload_action
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - fprintf
    - memset
    - mhd_assert
    - mhd_response_dec_use_count
    - mhd_conn_start_closing_app_abort
    - mhd_LOG_MSG
    - mhd_UPLOAD_ACTION_IS_VALID
    - mhd_UNREACHABLE
    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:3236,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3244,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3261,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3275,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3315,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3324,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3367,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3368,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3397,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3420,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3429,1
    - Dst: mhd_stream_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3439,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3443,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3454,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3459,1
    - Dst: mhd_daemon_grow_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3469,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3477,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3485,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3486,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3492,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3493,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3511,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3514,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3520,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3526,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3536,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 161
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3224
    functionDepth: 3
    functionLinenumber: 3224
    functionLinenumberEnd: 3541
    functionName: process_request_chunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - mhd_stream_post_parse
    - mhd_daemon_grow_lbuf
    - mhd_daemon_free_lbuf
    - mhd_assert
    - mhd_RESPOND_WITH_ERROR_STATIC
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    - mhd_strx_to_uint64_n
    - memcpy
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - memmove
    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:3551,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3552,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3553,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3554,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3555,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3564,1
    - Dst: mhd_stream_post_parse
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3575,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3578,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3596,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3600,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3602,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3615,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3618,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3625,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3632,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3544
    functionDepth: 3
    functionLinenumber: 3544
    functionLinenumberEnd: 3642
    functionName: process_request_nonchunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_process_upload_action
    - mhd_stream_post_parse
    - mhd_assert
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    - memcpy
    - memmove
    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:3649,1
    - Dst: process_request_nonchunked_body
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3645
    functionDepth: 4
    functionLinenumber: 3645
    functionLinenumberEnd: 3652
    functionName: mhd_stream_process_request_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 1
    functionsReached:
    - process_request_chunked_body
    - process_request_nonchunked_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:3660,1
    - Dst: mhd_stream_process_post_finish
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3665,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3668,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3672,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3673,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3674,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3675,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::full::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3677,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3686,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3687,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3688,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3695,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3655
    functionDepth: 3
    functionLinenumber: 3655
    functionLinenumberEnd: 3700
    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::full::cb
    - mhd_daemon_free_lbuf
    - mhd_assert
    - mhd_stream_process_post_finish
    - struct MHD_Connection*::rq::app_act::head_act::data::upload::inc::cb
    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:3707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3703
    functionDepth: 1
    functionLinenumber: 3703
    functionLinenumberEnd: 3714
    functionName: mhd_stream_process_req_recv_finished
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - mhd_daemon_free_lbuf
    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:3740,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3746,1
    - Dst: mhd_stream_get_no_space_err_status_code
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3751,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - c
    - chunk_size_line
    - chunk_size_line_size
    argTypes:
    - struct MHD_Connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3728
    functionDepth: 1
    functionLinenumber: 3728
    functionLinenumberEnd: 3758
    functionName: handle_req_chunk_size_line_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_stream_get_no_space_err_status_code
    - memchr
    - mhd_RESPOND_WITH_ERROR_STATIC
    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:3775,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3777,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:3780,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3782,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3784,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3786,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3788,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3789,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3791,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3793,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3795,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3797,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3805,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3814,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3820,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3825,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3833,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3839,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3840,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3843,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3849,1
    - Dst: handle_req_headers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3857,1
    - Dst: handle_req_chunk_size_line_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3861,1
    - Dst: handle_req_footers_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3868,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3875,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - c
    - stage
    argTypes:
    - struct MHD_Connection*
    - enum MHD_ProcRecvDataStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3876
      start: 3771
    functionDepth: 2
    functionLinenumber: 3771
    functionLinenumberEnd: 3876
    functionName: handle_recv_no_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - handle_req_headers_no_space
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_STREAM_ABORT
    - handle_req_footers_no_space
    - handle_req_chunk_size_line_no_space
    - mhd_UNREACHABLE
    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:3900,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3914,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3941,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3945,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3957,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3960,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - connection
    - required
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3965
      start: 3891
    functionDepth: 1
    functionLinenumber: 3891
    functionLinenumberEnd: 3965
    functionName: try_grow_read_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_pool_get_free
    - mhd_pool_is_resizable_inplace
    - mhd_pool_reallocate
    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: 41
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3980,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3981,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:3996,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4004,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4015,1
    - Dst: try_grow_read_buffer
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4026,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4090,1
    - Dst: handle_recv_no_space
      Src: /src/mhd2/src/mhd2/stream_process_request.c:4095,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4098
      start: 3968
    functionDepth: 3
    functionLinenumber: 3968
    functionLinenumberEnd: 4098
    functionName: mhd_stream_check_and_grow_read_buffer_space
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_request.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - handle_recv_no_space
    - mhd_UNREACHABLE
    - try_grow_read_buffer
    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:139,1
    - Dst: SF_FLAGS
      Src: /src/mhd2/src/mhd2/mhd_send.c:148,1
    - Dst: SF_FLAGS
      Src: /src/mhd2/src/mhd2/mhd_send.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: freebsd_sendfile_init_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - SF_FLAGS
    - sysconf
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    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: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    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:209,1
    - Dst: iov_max_init_
      Src: /src/mhd2/src/mhd2/mhd_send.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    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:224,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:227,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:237,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:238,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/mhd_send.c:239,1
    - Dst: mhd_SCKT_ERR_IS_NOPROTOOPT
      Src: /src/mhd2/src/mhd2/mhd_send.c:240,1
    - Dst: mhd_SCKT_ERR_IS_NOTSOCK
      Src: /src/mhd2/src/mhd2/mhd_send.c:241,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - connection
    - nodelay_state
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 255
    functionName: mhd_connection_set_nodelay_state
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_T_IS_YES
    - mhd_SCKT_ERR_IS_EINVAL
    - mhd_T_IS_NOT_YES
    - mhd_setsockopt
    - mhd_LOG_MSG
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_GET_LERR
    - mhd_SCKT_ERR_IS_NOPROTOOPT
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_connection_set_nodelay_state (struct MHD_Connection
      *connection,\n                                  bool nodelay_state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:267,1
    - Dst: mhd_setsockopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:270,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:280,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:281,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/mhd_send.c:282,1
    - Dst: mhd_SCKT_ERR_IS_NOPROTOOPT
      Src: /src/mhd2/src/mhd2/mhd_send.c:283,1
    - Dst: mhd_SCKT_ERR_IS_NOTSOCK
      Src: /src/mhd2/src/mhd2/mhd_send.c:284,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:291,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - connection
    - cork_state
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 304
    functionName: mhd_connection_set_cork_state
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_T_IS_YES
    - mhd_SCKT_ERR_IS_EINVAL
    - mhd_T_IS_NOT_YES
    - mhd_setsockopt
    - mhd_LOG_MSG
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_GET_LERR
    - mhd_SCKT_ERR_IS_NOPROTOOPT
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_connection_set_cork_state (struct MHD_Connection
      *connection,\n                               bool cork_state)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:326,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:348,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:353,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:359,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:366,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:423,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:426,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:429,1
    - Dst: mhd_T_IS_MAYBE
      Src: /src/mhd2/src/mhd2/mhd_send.c:433,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:437,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:451,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:470,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:480,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:490,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:496,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:508,1
    - Dst: mhd_T_IS_NOT_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:525,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:526,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:529,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:530,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:551,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:552,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - connection
    - plain_send
    - push_data
    argTypes:
    - struct MHD_Connection*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 554
    functionName: pre_send_setopt
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_YES
    - mhd_T_IS_NOT_YES
    - mhd_connection_set_cork_state
    - mhd_T_IS_MAYBE
    - mhd_connection_set_nodelay_state
    - mhd_T_IS_NOT_NO
    - mhd_T_IS_NO
    linkageType: ''
    returnType: void
    signature: "void pre_send_setopt (struct MHD_Connection *connection,\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:574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:576,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:576,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:577,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:577,1
    - Dst: mhd_sys_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:578,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: zero_send
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_YES
    - mhd_assert
    - mhd_sys_send
    - mhd_LOG_MSG
    - mhd_T_IS_NO
    linkageType: ''
    returnType: bool
    signature: bool zero_send (struct MHD_Connection *connection)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:607,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:618,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:619,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:646,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:649,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:653,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:662,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:666,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:676,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:680,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:688,1
    - Dst: mhd_T_IS_NO
      Src: /src/mhd2/src/mhd2/mhd_send.c:698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:700,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:700,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:704,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:708,1
    - Dst: mhd_connection_set_cork_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:722,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:726,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:733,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:734,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:738,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:748,1
    - Dst: mhd_T_IS_NOT_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:748,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/mhd_send.c:749,1
    - Dst: mhd_connection_set_nodelay_state
      Src: /src/mhd2/src/mhd2/mhd_send.c:754,1
    - Dst: zero_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:758,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/mhd_send.c:764,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 3
    argNames:
    - connection
    - plain_send_next
    - push_data
    argTypes:
    - struct MHD_Connection*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 770
    functionName: post_send_setopt
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_T_IS_YES
    - mhd_T_IS_NOT_YES
    - mhd_connection_set_cork_state
    - mhd_assert
    - mhd_LOG_MSG
    - zero_send
    - mhd_connection_set_nodelay_state
    - mhd_T_IS_NO
    linkageType: ''
    returnType: void
    signature: "void post_send_setopt (struct MHD_Connection *connection,\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:778,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:786,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:786,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:787,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:787,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:795,1
    - Dst: mhd_sys_send4
      Src: /src/mhd2/src/mhd2/mhd_send.c:797,1
    - Dst: mhd_sys_send4
      Src: /src/mhd2/src/mhd2/mhd_send.c:802,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:812,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:812,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    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: 841
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 841
    functionName: mhd_send_plain
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - pre_send_setopt
    - mhd_socket_error_get_from_sys_err
    - mhd_sys_send4
    - mhd_assert
    - mhd_C_HAS_TLS
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - post_send_setopt
    - mhd_D_HAS_TLS
    - mhd_SCKT_GET_LERR
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_send_plain (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: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_send.c:851,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:858,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:858,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:859,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:859,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:860,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:862,1
    - Dst: mhd_tls_conn_send
      Src: /src/mhd2/src/mhd2/mhd_send.c:864,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    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: 891
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 891
    functionName: mhd_send_tls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - pre_send_setopt
    - mhd_tls_conn_send
    - mhd_assert
    - mhd_C_HAS_TLS
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - post_send_setopt
    - mhd_D_HAS_TLS
    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:901,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:905,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:906,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:909,1
    - Dst: mhd_send_tls
      Src: /src/mhd2/src/mhd2/mhd_send.c:910,1
    - Dst: mhd_send_plain
      Src: /src/mhd2/src/mhd2/mhd_send.c:917,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: 922
      start: 898
    functionDepth: 4
    functionLinenumber: 898
    functionLinenumberEnd: 922
    functionName: mhd_send_data
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_send_plain
    - mhd_assert
    - mhd_C_HAS_TLS
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_send_tls
    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:1194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1204,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1207,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1207,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1209,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1241,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1243,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1253,1
    - Dst: sendfile64
      Src: /src/mhd2/src/mhd2/mhd_send.c:1258,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1265,1
    - Dst: EIO
      Src: /src/mhd2/src/mhd2/mhd_send.c:1269,1
    - Dst: EAFNOSUPPORT
      Src: /src/mhd2/src/mhd2/mhd_send.c:1272,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1278,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1293,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1301,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1324,1
    - Dst: sendfile
      Src: /src/mhd2/src/mhd2/mhd_send.c:1337,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1344,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1364,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1365,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1373,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1400,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    argCount: 2
    argNames:
    - c
    - sent
    argTypes:
    - struct MHD_Connection*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1404
    functionName: mhd_send_sendfile
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - pre_send_setopt
    - sendfile
    - mhd_socket_error_get_from_sys_err
    - EAFNOSUPPORT
    - mhd_assert
    - EIO
    - mhd_C_HAS_TLS
    - post_send_setopt
    - sendfile64
    - mhd_SCKT_GET_LERR
    - mhd_D_HAS_THR_PER_CONN
    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:1446,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1446,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1447,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1447,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1449,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1450,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1457,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mhd_send.c:1465,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1474,1
    - Dst: sendmsg
      Src: /src/mhd2/src/mhd2/mhd_send.c:1475,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1486,1
    - Dst: writev
      Src: /src/mhd2/src/mhd2/mhd_send.c:1487,1
    - Dst: pre_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1505,1
    - Dst: WSASend
      Src: /src/mhd2/src/mhd2/mhd_send.c:1506,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_send.c:1521,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_send.c:1521,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1549,1
    - Dst: post_send_setopt
      Src: /src/mhd2/src/mhd2/mhd_send.c:1553,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1562,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: 1574
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1574
    functionName: send_iov_nontls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - pre_send_setopt
    - mhd_socket_error_get_from_sys_err
    - memset
    - writev
    - mhd_assert
    - mhd_C_HAS_TLS
    - WSASend
    - post_send_setopt
    - mhd_D_HAS_TLS
    - sendmsg
    - mhd_SCKT_GET_LERR
    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:1610,1
    - Dst: mhd_send_data
      Src: /src/mhd2/src/mhd2/mhd_send.c:1621,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/mhd_send.c:1632,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1656,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: 1659
      start: 1600
    functionDepth: 5
    functionLinenumber: 1600
    functionLinenumberEnd: 1659
    functionName: send_iov_emu
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 0
    functionsReached:
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_assert
    - mhd_send_data
    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:1679,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1680,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_send.c:1682,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_send.c:1687,1
    - Dst: send_iov_nontls
      Src: /src/mhd2/src/mhd2/mhd_send.c:1694,1
    - Dst: send_iov_emu
      Src: /src/mhd2/src/mhd2/mhd_send.c:1699,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: 1702
      start: 1666
    functionDepth: 6
    functionLinenumber: 1666
    functionLinenumberEnd: 1702
    functionName: mhd_send_iovec
    functionSourceFile: /src/mhd2/src/mhd2/mhd_send.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - send_iov_emu
    - mhd_C_HAS_TLS
    - 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
    - fflush
    - fprintf
    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_calloc
    - mhd_DLINKEDL_INIT_LIST
    - 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:
    - struct MHD_Response*::free::cb
    - mhd_assert
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void mhd_response_deinit_content_data (struct MHD_Response *restrict
      r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - sc
    - size
    - dyn_cont
    - dyn_cont_cls
    - dyn_cont_fc
    argTypes:
    - enum MHD_HTTP_StatusCode
    - uint_fast64_t
    - MHD_DynamicContentCreator
    - void*
    - MHD_FreeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: MHD_response_from_callback
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - response_create_basic
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: "MHD_EXTERN_ *\nMHD_response_from_callback (enum MHD_HTTP_StatusCode
      sc,\n                            uint_fast64_t size,\n                            MHD_DynamicContentCreator
      dyn_cont,\n                            void *dyn_cont_cls,\n                            MHD_FreeCallback
      dyn_cont_fc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    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: 179
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: MHD_response_from_buffer
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 2
    functionsReached:
    - 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:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    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:194,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/response_from.c:207,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/response_from.c:210,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:211,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:219,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:231,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: 233
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 233
    functionName: MHD_response_from_buffer_copy
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - malloc
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - free
    - response_create_basic
    - 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:240,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:291,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:299,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/response_from.c:316,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/response_from.c:323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:328,1
    - Dst: response_create_basic
      Src: /src/mhd2/src/mhd2/response_from.c:330,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/response_from.c:340,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: 343
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 343
    functionName: MHD_response_from_iovec
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_DROP_CONST
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - free
    - response_create_basic
    - mhd_calloc
    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:361,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: 373
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: MHD_response_from_fd
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 3
    functionsReached:
    - response_create_basic
    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:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - fd
    argTypes:
    - enum MHD_HTTP_StatusCode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: MHD_response_from_pipe
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 2
    functionsReached:
    - 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:422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_from.c:425,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/response_from.c:428,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/response_from.c:434,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: 450
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 450
    functionName: mhd_response_special_for_error
    functionSourceFile: /src/mhd2/src/mhd2/response_from.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_calloc
    - mhd_DLINKEDL_INIT_LIST
    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: 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: 5
    functionsReached:
    - __builtin_mul_overflow
    - malloc
    - 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:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mhd_MD5_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_init_one_time(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: mhd_MD5_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_finish_reset(ctx,digest)
  - 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: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    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:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    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:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: mhd_MD5_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mhd_MD5_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: mhd_MD5_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_md5.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MD5_has_err(ctx)
  - 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: 1
    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
    - free
    - mhd_DLINKEDL_GET_LAST
    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_assert
    - mhd_MSTR_INIT
    - mhd_UNREACHABLE
    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:
    - strlen
    - response_add_auth_digest_challenge_alg
    - mhd_response_remove_auth_digest_headers
    - memchr
    - 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_atomic_counter_get
    - mhd_assert
    - mhd_mutex_unlock_chk
    - mhd_mutex_lock
    - response_add_auth_digest_challenge_int
    - 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: 13
    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_conn_event_loop_state_update
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:108,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:136,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:144,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:145,1
    - Dst: mhd_conn_mark_ready_update
      Src: /src/mhd2/src/mhd2/conn_tls_check.c:149,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 151
    functionName: mhd_conn_tls_check
    functionSourceFile: /src/mhd2/src/mhd2/conn_tls_check.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - mhd_conn_event_loop_state_update
    - mhd_socket_error_get_from_socket
    - mhd_C_HAS_TLS
    - mhd_conn_start_closing_skt_err
    - mhd_D_HAS_TLS
    - mhd_LOG_MSG
    - mhd_conn_mark_ready_update
    - mhd_tls_conn_handshake
    - mhd_UNREACHABLE
    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_PREV
    - mhd_assert
    - mhd_DLINKEDL_INS_LAST
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_LAST
    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_PREV
    - mhd_assert
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_NEXT
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_LAST
    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_C_HAS_TLS_DATA_IN
    - mhd_conn_mark_unready
    - mhd_conn_mark_ready
    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:38,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_set_options.c:40,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_set_options.c:40,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_set_options.c:43,1
    - Dst: response_make_reusable
      Src: /src/mhd2/src/mhd2/response_set_options.c:69,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_set_options.c:107,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: 110
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 110
    functionName: MHD_response_set_options
    functionSourceFile: /src/mhd2/src/mhd2/response_set_options.c
    functionUses: 0
    functionsReached:
    - mhd_atomic_counter_get
    - mhd_assert
    - mhd_mutex_unlock_chk
    - mhd_mutex_lock
    - response_make_reusable
    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:89,1
    - Dst: fflush
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - level
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    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:
    - Dst: gnutls_check_version
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:134,1
    - Dst: gnutls_global_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:137,1
    - Dst: gnutls_global_set_log_function
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:140,1
    - Dst: gnutls_global_set_log_level
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: mhd_tls_gnu_global_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - gnutls_check_version
    - gnutls_global_init
    - gnutls_global_set_log_function
    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:150,1
    - Dst: gnutls_global_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    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: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    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:179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:180,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: check_app_tls_sessings
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_LOG_MSG
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ check_app_tls_sessings (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:216,1
    - Dst: gnutls_dh_params_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:221,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:224,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:227,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:231,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 242
    functionName: daemon_init_dh_data
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_known_dh_params
    - mhd_DROP_CONST
    - gnutls_dh_params_init
    - gnutls_certificate_set_dh_params
    - gnutls_dh_params_import_pkcs3
    - gnutls_dh_params_deinit
    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:253,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    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:280,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:282,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:288,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:292,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:304,1
    - Dst: mhd_DROP_CONST
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:307,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:309,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:317,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:319,1
    - Dst: gnutls_strerror
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:321,1
    - Dst: daemon_init_dh_data
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:326,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:328,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:338,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:339,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: 341
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 341
    functionName: daemon_init_credentials
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_key_mem2
    - mhd_assert
    - strlen
    - mhd_DROP_CONST
    - gnutls_certificate_free_credentials
    - gnutls_strerror
    - mhd_LOG_MSG
    - mhd_LOG_FMT
    - gnutls_certificate_allocate_credentials
    - daemon_init_dh_data
    - mhd_LOG_PRINT
    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:351,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:354,1
    - Dst: daemon_deinit_dh_data
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: daemon_deinit_credentials
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - daemon_deinit_dh_data
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:394,1
    - Dst: gnutls_priority_init
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:412,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:421,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - d
    - d_tls
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_TlsGnuDaemonData*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 427
    functionName: daemon_init_priorities_cache
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - gnutls_priority_init
    - mhd_LOG_MSG
    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:438,1
    - Dst: gnutls_priority_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: daemon_deinit_priorities_cache
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_priority_deinit
    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:456,1
    - Dst: check_app_tls_sessings
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:458,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:463,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:484,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:484,1
    - Dst: daemon_init_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:487,1
    - Dst: daemon_init_priorities_cache
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:492,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:499,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:504,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: 506
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 506
    functionName: mhd_tls_gnu_daemon_init3
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - mhd_assert
    - daemon_init_credentials
    - check_app_tls_sessings
    - daemon_deinit_credentials
    - free
    - mhd_calloc
    - daemon_init_priorities_cache
    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:513,1
    - Dst: daemon_deinit_priorities_cache
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:514,1
    - Dst: daemon_deinit_credentials
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:515,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsGnuDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: mhd_tls_gnu_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - daemon_deinit_priorities_cache
    - mhd_assert
    - daemon_deinit_credentials
    - free
    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: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    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:552,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:562,1
    - Dst: gnutls_set_default_priority
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:565,1
    - Dst: gnutls_priority_set
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:568,1
    - Dst: gnutls_credentials_set
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:574,1
    - Dst: gnutls_transport_set_int
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:579,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:582,1
    - Dst: mhd_INT_TO_PTR
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:583,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:585,1
    - Dst: mhd_UINT_TO_PTR
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:586,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:603,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:619,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: 621
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 621
    functionName: mhd_tls_gnu_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_priority_set
    - gnutls_alpn_set_protocols
    - gnutls_init
    - gnutls_transport_set_ptr
    - mhd_assert
    - mhd_UINT_TO_PTR
    - gnutls_deinit
    - gnutls_handshake_set_timeout
    - mhd_INT_TO_PTR
    - gnutls_transport_set_int
    - gnutls_set_default_priority
    - 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:632,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:633,1
    - Dst: gnutls_deinit
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 635
    functionName: mhd_tls_gnu_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_deinit
    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:646,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:647,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:648,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:649,1
    - Dst: gnutls_handshake
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:651,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 683
    functionName: mhd_tls_gnu_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_record_get_direction
    - gnutls_handshake
    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:692,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:693,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:695,1
    - Dst: gnutls_bye
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:697,1
    - Dst: gnutls_record_get_direction
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 730
    functionName: mhd_tls_gnu_conn_shutdown
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_record_get_direction
    - gnutls_bye
    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:740,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:745,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:746,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:747,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:748,1
    - Dst: gnutls_record_recv
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:754,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: 783
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 783
    functionName: mhd_tls_gnu_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_record_recv
    - 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:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    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:798,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:803,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:804,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:805,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:806,1
    - Dst: gnutls_record_send
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:816,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: 841
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 841
    functionName: mhd_tls_gnu_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - gnutls_record_send
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_tls_gnu_conn_send (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: 853
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 853
    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:863,1
    - Dst: gnutls_protocol_get_version
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:865,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: 884
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 884
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:894,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:899,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:906,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/tls_gnu_funcs.c:912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsGnuConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 920
    functionName: mhd_tls_gnu_conn_get_alpn_prot
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.c
    functionUses: 0
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - memcmp
    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: 547
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 547
    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: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:62,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:68,1
    - Dst: EVP_sha256
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:69,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: mhd_SHA256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_openssl.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - EVP_sha256
    - EVP_DigestInit_ex
    - EVP_MD_CTX_new
    - mhd_SHA256_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_init_one_time (struct mhd_Sha256CtxExt *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:95,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: mhd_SHA256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_openssl.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_update (struct mhd_Sha256CtxExt *ctx,\n                   size_t
      size,\n                   const uint8_t *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:129,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:131,1
    - Dst: EVP_sha256
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:132,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: mhd_SHA256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_openssl.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - EVP_sha256
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - mhd_SHA256_deinit
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_finish_reset (struct mhd_Sha256CtxExt *ctx,\n                         uint8_t
      digest[mhd_SHA256_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/sha256_ext_openssl.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: mhd_SHA256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_deinit (struct mhd_Sha256CtxExt *ctx)
  - 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_assert
    - mhd_mutex_destroy
    - mhd_atomic_counter_init
    - mhd_mutex_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_assert
    - mhd_atomic_counter_deinit
    - mhd_mutex_destroy_chk
    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:
    - mhd_assert
    - free
    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_atomic_counter_get
    - mhd_mutex_lock_chk
    - mhd_assert
    - mhd_mutex_unlock_chk
    - response_set_properties
    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: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    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: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    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: 89
    functionDepth: 0
    functionLinenumber: 89
    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:
    - Dst: mhd_tls_gnu_global_init_once
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:99,1
    - Dst: mhd_tls_open_global_init_once
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: mhd_tls_multi_global_init_once
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_global_init_once
    - mhd_tls_gnu_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:112,1
    - Dst: mhd_tls_gnu_global_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: mhd_tls_multi_global_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_global_deinit
    - mhd_tls_gnu_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:124,1
    - Dst: mhd_tls_open_global_re_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: mhd_tls_multi_global_re_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_global_re_init
    - mhd_tls_open_global_re_init
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_global_re_init (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:140,1
    - Dst: mhd_tls_gnu_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:144,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:145,1
    - Dst: mhd_tls_open_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:149,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:150,1
    - Dst: mhd_tls_gnu_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:158,1
    - Dst: mhd_tls_open_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:165,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: mhd_tls_multi_is_edge_trigg_supported
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_is_inited_fine
    - mhd_tls_open_is_edge_trigg_supported
    - mhd_tls_gnu_is_edge_trigg_supported
    - mhd_tls_open_is_inited_fine
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_is_edge_trigg_supported (struct DaemonOptions
      *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:204,1
    - Dst: mhd_tls_gnu_daemon_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:206,1
    - Dst: mhd_M_DEBUG_PRINT
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:212,1
    - Dst: mhd_M_DEBUG_PRINT1
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:217,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:223,1
    - Dst: mhd_tls_open_daemon_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:225,1
    - Dst: mhd_M_DEBUG_PRINT
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:231,1
    - Dst: mhd_M_DEBUG_PRINT1
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:236,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:244,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    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: 247
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 247
    functionName: tls_daemon_init_try
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_is_inited_fine
    - mhd_M_DEBUG_PRINT
    - mhd_tls_open_daemon_init
    - mhd_assert
    - mhd_M_DEBUG_PRINT1
    - mhd_tls_gnu_daemon_init
    - mhd_tls_open_is_inited_fine
    - mhd_UNREACHABLE
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:260,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:282,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:284,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:296,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:296,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:297,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:306,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:306,1
    - Dst: tls_daemon_init_try
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:307,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:323,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:327,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    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: 335
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 335
    functionName: mhd_tls_multi_daemon_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - mhd_tls_gnu_is_inited_fine
    - mhd_assert
    - tls_daemon_init_try
    - free
    - mhd_tls_open_is_inited_fine
    - mhd_calloc
    - mhd_UNREACHABLE
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:346,1
    - Dst: mhd_tls_open_daemon_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:351,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:362,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: mhd_tls_multi_daemon_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_daemon_deinit
    - mhd_UNREACHABLE
    - free
    - mhd_tls_open_daemon_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_tls_multi_daemon_deinit (struct mhd_TlsMultiDaemonData *restrict
      d_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:381,1
    - Dst: mhd_tls_open_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:386,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - d_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: mhd_tls_multi_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_get_tls_size
    - mhd_tls_open_conn_get_tls_size
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_get_tls_size (struct mhd_TlsMultiDaemonData
      *restrict d_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:417,1
    - Dst: mhd_tls_open_conn_init
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:425,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - d_tls
    - sk
    - c_tls
    argTypes:
    - struct mhd_TlsMultiDaemonData*
    - struct mhd_ConnSocket*
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 442
    functionName: mhd_tls_multi_conn_init
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_init
    - mhd_tls_open_conn_init
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_tls_multi_conn_init (const struct mhd_TlsMultiDaemonData
      *restrict d_tls,\n                         const struct mhd_ConnSocket *sk,\n
      \                        struct mhd_TlsMultiConnData *restrict c_tls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:457,1
    - Dst: mhd_tls_open_conn_deinit
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:462,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 475
    functionName: mhd_tls_multi_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_gnu_conn_deinit
    - mhd_tls_open_conn_deinit
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_tls_multi_conn_deinit (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:488,1
    - Dst: mhd_tls_open_conn_handshake
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:492,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: mhd_tls_multi_conn_handshake
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_handshake
    - mhd_UNREACHABLE
    - mhd_tls_gnu_conn_handshake
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_multi_conn_handshake (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:517,1
    - Dst: mhd_tls_open_conn_shutdown
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:521,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 535
    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_open_conn_shutdown
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: enum mhd_TlsProcedureResult
    signature: enum mhd_TlsProcedureResult mhd_tls_multi_conn_shutdown (struct mhd_TlsMultiConnData
      *restrict c_tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:545,1
    - Dst: mhd_tls_gnu_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:552,1
    - Dst: mhd_tls_open_conn_recv
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:559,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:572,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: 576
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 576
    functionName: mhd_tls_multi_conn_recv
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_recv
    - mhd_tls_gnu_conn_recv
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_UNREACHABLE
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:586,1
    - Dst: mhd_tls_open_conn_has_data_in
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:590,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 604
    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_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: 7
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:612,1
    - Dst: mhd_tls_gnu_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:619,1
    - Dst: mhd_tls_open_conn_send
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:626,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - c_tls
    - buf_size
    - buf
    - sent
    argTypes:
    - struct mhd_TlsMultiConnData*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 643
    functionName: mhd_tls_multi_conn_send
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_send
    - mhd_tls_gnu_conn_send
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_UNREACHABLE
    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                         size_t
      *restrict sent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:658,1
    - Dst: mhd_tls_open_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:664,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - c_tls
    - tls_sess_out
    argTypes:
    - struct mhd_TlsMultiConnData*
    - union MHD_ConnInfoDynamicTlsSess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 679
    functionName: mhd_tls_multi_conn_get_tls_sess
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_get_tls_sess
    - mhd_tls_gnu_conn_get_tls_sess
    - mhd_UNREACHABLE
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:691,1
    - Dst: mhd_tls_open_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:696,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:707,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: 711
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 711
    functionName: mhd_tls_multi_conn_get_tls_ver
    functionSourceFile: /src/mhd2/src/mhd2/tls_multi_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_tls_open_conn_get_tls_ver
    - mhd_tls_gnu_conn_get_tls_ver
    - mhd_UNREACHABLE
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_tls_gnu_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:721,1
    - Dst: mhd_tls_open_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:725,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/tls_multi_funcs.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c_tls
    argTypes:
    - struct mhd_TlsMultiConnData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 739
    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_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:70,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:71,1
    - 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:75,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:81,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:94,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:98,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:100,1
    - Dst: mhd_stream_update_activity_mark
      Src: /src/mhd2/src/mhd2/conn_data_recv.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - c
    - has_err
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 116
    functionName: mhd_conn_data_recv
    functionSourceFile: /src/mhd2/src/mhd2/conn_data_recv.c
    functionUses: 1
    functionsReached:
    - mhd_recv
    - mhd_assert
    - mhd_stream_update_activity_mark
    - mhd_SOCKET_ERR_IS_HARD
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_conn_data_recv (struct MHD_Connection *restrict c,\n
      \                   bool has_err)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:111,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:113,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:119,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:121,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:132,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:134,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:146,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:160,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:163,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:171,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:187,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:196,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:204,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: 206
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 206
    functionName: process_mpart_header
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_unquote
    - mhd_stream_alloc_memory
    - mhd_assert
    - mhd_str_starts_with_token_req_param
    - mhd_LOG_MSG
    - mhd_LOG_FMT
    - memcpy
    - mhd_MSTR_INIT
    - mhd_LOG_PRINT
    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:220,1
    - Dst: mhd_request_get_value_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:222,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:227,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:235,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:237,1
    - Dst: process_mpart_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:249,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:259,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:264,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:266,1
    - Dst: mhd_str_starts_with_token_opt_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:270,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 284
    functionName: '(1) bool

      detect_post_enc (struct MHD_Connection *restrict c)'
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - process_mpart_header
    - mhd_request_get_value_st
    - mhd_str_starts_with_token_opt_param
    - mhd_LOG_MSG
    - mhd_str_equal_caseless_n_st
    - mhd_MSTR_INIT
    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:299,1
    - Dst: mhd_request_get_value_st
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:302,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:307,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:315,1
    - Dst: process_mpart_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:317,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:326,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 337
    functionName: detect_mpart_boundary_from_the_header
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - process_mpart_header
    - mhd_request_get_value_st
    - mhd_LOG_MSG
    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:386,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdata
    - final
    argTypes:
    - struct mhd_PostParserData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 392
    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:418,1
    - 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:421,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:428,1
    - Dst: reset_parse_field_data_mpart_init
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:431,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:434,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 441
    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_text
    - mhd_assert
    - reset_parse_field_data_urlenc
    - reset_parse_field_data_mpart_init
    - mhd_UNREACHABLE
    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:448,1
    - Dst: detect_post_enc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:452,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:454,1
    - Dst: detect_mpart_boundary_from_the_header
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:463,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:474,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:476,1
    - Dst: init_post_parse_data
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: mhd_stream_prepare_for_post_parse
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - detect_mpart_boundary_from_the_header
    - mhd_assert
    - init_post_parse_data
    - detect_post_enc
    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:502,1
    - 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_daemon_get_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:509,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: 512
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 512
    functionName: get_lbuf_fixed_size
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_daemon_get_lbuf
    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:529,1
    - 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_daemon_grow_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:537,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: 540
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 540
    functionName: grow_lbuf_fixed_size
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_grow_lbuf
    - mhd_assert
    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:559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:560,1
    - Dst: mhd_daemon_extend_lbuf_up_to
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:568,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: 571
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 571
    functionName: extend_lbuf_up_to
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - mhd_daemon_extend_lbuf_up_to
    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:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 598
    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:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    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:634,1
    - 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:642,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: 647
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 647
    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:671,1
    - 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:675,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:678,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:689,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:691,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: 694
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 694
    functionName: add_parsed_post_field
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    - mhd_DLINKEDL_INS_LAST
    - mhd_stream_alloc_memory
    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: 748
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 748
    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:802,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:804,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:806,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:808,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:811,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:815,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:818,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:821,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:823,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:826,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:829,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: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:843,1
    - Dst: make_post_strings_from_buf_and_indices
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:852,1
    - Dst: struct mhd_PostParseActionData*::stream_reader
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:866,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:877,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:885,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:907,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: add_parsed_post_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:922,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:930,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: 941
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 941
    functionName: process_complete_field_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
    - mhd_assert
    - struct mhd_PostParseActionData*::stream_reader
    - mhd_LOG_MSG
    - is_value_streaming_needed
    - add_parsed_post_field
    - memmove
    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:973,1
    - 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:977,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:979,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:982,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:985,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:988,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: 998
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 998
    functionName: process_complete_field
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - process_complete_field_all
    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:1058,1
    - 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: make_post_strings_from_buf_and_indices
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1075,1
    - Dst: struct mhd_PostParseActionData*::stream_reader
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1089,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1103,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1121,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: 1126
      start: 1032
    functionDepth: 3
    functionLinenumber: 1032
    functionLinenumberEnd: 1126
    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
    - mhd_assert
    - struct mhd_PostParseActionData*::stream_reader
    - memmove
    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:1159,1
    - 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:1167,1
    - Dst: process_partial_value_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1170,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: 1179
      start: 1149
    functionDepth: 4
    functionLinenumber: 1149
    functionLinenumberEnd: 1179
    functionName: process_partial_value
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - process_partial_value_all
    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:1201,1
    - 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:1211,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1230,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:1256,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1261,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:1267,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1269,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1282,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:1304,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1308,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:1311,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1317,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1330,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1345,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1358,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1362,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1363,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1366,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1369,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1370,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1374,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1376,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:1382,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1386,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1391,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1392,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1398,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1412,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: 1439
      start: 1192
    functionDepth: 5
    functionLinenumber: 1192
    functionLinenumberEnd: 1439
    functionName: parse_post_urlenc
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_str_pct_decode_lenient_n
    - mhd_assert
    - reset_parse_field_data_urlenc
    - process_complete_field
    - is_value_streaming_needed
    - process_partial_value
    - mhd_UNREACHABLE
    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:1463,1
    - 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: memcmp
      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: memchr
      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: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1470,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:1481,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1487,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: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1495,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1508,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:1513,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1548,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:1579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1584,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:1595,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:1602,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1603,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1608,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1622,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: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1629,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1642,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1649,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1654,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:1685,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1691,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: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1709,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:1722,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: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1743,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1759,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1775,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_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1797,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_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1802,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1819,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1824,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1838,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1844,1
    - Dst: mhd_str_starts_with_token_req_param
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1861,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1875,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1893,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1896,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1901,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1903,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1908,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1915,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1916,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1918,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1925,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1930,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1933,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1938,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1940,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1945,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1957,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_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1965,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1978,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:1984,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1991,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: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:1999,1
    - Dst: memmem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2004,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2012,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:2017,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2056,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:2091,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2105,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2106,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2125,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: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2132,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2157,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:2186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2193,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:2214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2215,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2241,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:2250,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2257,1
    - Dst: reset_parse_field_data_mpart_cont
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2259,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2278,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2287,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2297,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2300,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2305,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2307,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:2317,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2322,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2327,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2333,1
    - Dst: process_partial_value_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2342,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: 2364
      start: 1452
    functionDepth: 4
    functionLinenumber: 1452
    functionLinenumberEnd: 2364
    functionName: parse_post_mpart
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - is_value_streaming_needed
    - mhd_str_unquote
    - mhd_str_pct_decode_lenient_n
    - reset_parse_field_data_mpart_cont
    - memcmp
    - mhd_assert
    - mhd_str_starts_with_token_req_param
    - mhd_UNREACHABLE
    - mhd_str_equal_caseless_bin_n
    - memmem
    - mhd_LOG_MSG
    - process_complete_field_all
    - process_partial_value_all
    - memchr
    - mhd_MSTR_INIT
    - memmove
    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:2378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2384,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:2396,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:2422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2426,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:2435,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:2457,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2470,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2479,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2501,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2518,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2519,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2522,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2526,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2530,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2536,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2545,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2557,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:2562,1
    - Dst: is_value_streaming_needed
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2566,1
    - Dst: process_partial_value
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2568,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: 2584
      start: 2368
    functionDepth: 5
    functionLinenumber: 2368
    functionLinenumberEnd: 2584
    functionName: parse_post_text
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - reset_parse_field_data_text
    - mhd_assert
    - mhd_LOG_MSG
    - process_complete_field
    - is_value_streaming_needed
    - process_partial_value
    - mhd_ALLOW_BARE_LF_AS_CRLF
    - mhd_UNREACHABLE
    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:2596,1
    - 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:2609,1
    - Dst: extend_lbuf_up_to
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2613,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2626,1
    - Dst: parse_post_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2636,1
    - Dst: parse_post_mpart
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2642,1
    - Dst: parse_post_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2648,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2655,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2666,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: 2669
      start: 2588
    functionDepth: 6
    functionLinenumber: 2588
    functionLinenumberEnd: 2669
    functionName: mhd_stream_post_parse
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 3
    functionsReached:
    - report_low_lbuf_mem
    - extend_lbuf_up_to
    - parse_post_text
    - mhd_assert
    - parse_post_urlenc
    - memcpy
    - parse_post_mpart
    - mhd_UNREACHABLE
    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:2698,1
    - 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:2705,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2708,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2712,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2719,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2722,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2728,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2739,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2742,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2747,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2748,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2751,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2759,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2762,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2779,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:2786,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:2789,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2794,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2808,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2811,1
    - Dst: reset_parse_field_data_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2822,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: 2825
      start: 2682
    functionDepth: 5
    functionLinenumber: 2682
    functionLinenumberEnd: 2825
    functionName: check_post_leftovers_urlenc
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - report_low_lbuf_mem
    - mhd_str_pct_decode_lenient_n
    - memmove
    - mhd_assert
    - reset_parse_field_data_urlenc
    - process_complete_field
    - mhd_UNREACHABLE
    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:2852,1
    - 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:2866,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2878,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2886,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:2894,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2895,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:2910,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2928,1
    - Dst: report_invalid_termination
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2934,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2943,1
    - Dst: process_complete_field_all
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2947,1
    - Dst: reset_parse_field_data_mpart_cont
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:2965,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 3
    argNames:
    - c
    - pdata_size
    - buf
    argTypes:
    - struct MHD_Connection*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2838
    functionDepth: 4
    functionLinenumber: 2838
    functionLinenumberEnd: 2969
    functionName: check_post_leftovers_mpart
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - report_invalid_termination
    - report_low_lbuf_mem
    - reset_parse_field_data_mpart_cont
    - mhd_assert
    - process_complete_field_all
    - mhd_UNREACHABLE
    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:2996,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3000,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3004,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3008,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3014,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3021,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3022,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3023,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3030,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3031,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3032,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3037,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3038,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3043,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3044,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3049,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3051,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3053,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3059,1
    - Dst: report_invalid_termination
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3065,1
    - Dst: report_low_lbuf_mem
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3074,1
    - Dst: process_complete_field
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3077,1
    - Dst: reset_parse_field_data_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3088,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: 3091
      start: 2982
    functionDepth: 5
    functionLinenumber: 2982
    functionLinenumberEnd: 3091
    functionName: check_post_leftovers_text
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - report_invalid_termination
    - report_low_lbuf_mem
    - reset_parse_field_data_text
    - mhd_assert
    - process_complete_field
    - mhd_UNREACHABLE
    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:3106,1
    - Dst: check_post_leftovers_urlenc
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3113,1
    - Dst: check_post_leftovers_mpart
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3117,1
    - Dst: check_post_leftovers_text
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3121,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3100
    functionDepth: 6
    functionLinenumber: 3100
    functionLinenumberEnd: 3133
    functionName: check_post_leftovers
    functionSourceFile: /src/mhd2/src/mhd2/post_parser_funcs.c
    functionUses: 0
    functionsReached:
    - check_post_leftovers_text
    - extend_lbuf_up_to
    - check_post_leftovers_mpart
    - check_post_leftovers_urlenc
    - mhd_UNREACHABLE
    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:3147,1
    - Dst: struct MHD_Connection*::rq::app_act::head_act::data::post_parse::done_cb
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3151,1
    - Dst: mhd_stream_process_upload_action
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3156,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/post_parser_funcs.c:3158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3136
    functionDepth: 7
    functionLinenumber: 3136
    functionLinenumberEnd: 3160
    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_stream_process_upload_action
    - check_post_leftovers
    - mhd_daemon_free_lbuf
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_process_post_finish (struct MHD_Connection
      *restrict c)
  - 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:
    - fprintf
    - abort
    - 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:79,1
    - Dst: pread64
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:100,1
    - Dst: pread
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:105,1
    - Dst: lseek64
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:138,1
    - Dst: lseek
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:143,1
    - Dst: read
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:149,1
    - Dst: _get_osfhandle
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:163,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:174,1
    - Dst: ReadFile
      Src: /src/mhd2/src/mhd2/mhd_read_file.c:184,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: 197
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 197
    functionName: mhd_read_file
    functionSourceFile: /src/mhd2/src/mhd2/mhd_read_file.c
    functionUses: 0
    functionsReached:
    - ReadFile
    - lseek64
    - memset
    - _get_osfhandle
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - lseek
    - pread64
    - read
    - 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:
    - va_end
    - va_start
    - struct MHD_Daemon*::log_params::v_log_cb
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_logger (struct MHD_Daemon *daemon,\n            enum
      MHD_StatusCode sc,\n            const char *fm,\n            ...)"
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/lib_get_info.c:107,1
    - Dst: mhd_MSTR_INIT
      Src: /src/mhd2/src/mhd2/lib_get_info.c:127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:140,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:146,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:153,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:154,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/lib_get_info.c:158,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:161,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/lib_get_info.c:163,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 218
    argCount: 3
    argNames:
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - enum MHD_LibInfoFixed
    - union MHD_LibInfoFixedData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 496
    functionName: MHD_lib_get_info_fixed_sz
    functionSourceFile: /src/mhd2/src/mhd2/lib_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_uint32_to_strx
    - memset
    - mhd_MSTR_INIT
    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:508,1
    - Dst: mhd_lib_is_fully_initialised_once
      Src: /src/mhd2/src/mhd2/lib_get_info.c:516,1
    - Dst: mhd_lib_is_fully_initialised_now
      Src: /src/mhd2/src/mhd2/lib_get_info.c:522,1
    - Dst: mhd_lib_init_global_if_needed
      Src: /src/mhd2/src/mhd2/lib_get_info.c:535,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/lib_get_info.c:538,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/lib_get_info.c:539,1
    - Dst: mhd_lib_deinit_global_if_needed
      Src: /src/mhd2/src/mhd2/lib_get_info.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - info_type
    - MHD_RESTRICT
    - output_buf_size
    argTypes:
    - enum MHD_LibInfoDynamic
    - union MHD_LibInfoDynamicData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 558
    functionName: MHD_lib_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/lib_get_info.c
    functionUses: 1
    functionsReached:
    - mhd_lib_init_global_if_needed
    - mhd_tls_gnu_is_inited_fine
    - mhd_lib_is_fully_initialised_now
    - memset
    - mhd_lib_is_fully_initialised_once
    - mhd_tls_open_is_inited_fine
    - mhd_lib_deinit_global_if_needed
    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: 61
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:63,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:65,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:68,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: free
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:240,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:242,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_set_options.c:245,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 196
    argCount: 3
    argNames:
    - MHD_RESTRICT
    - MHD_RESTRICT
    - options_max_num
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_DaemonOptionAndValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 269
    functionName: MHD_daemon_set_options
    functionSourceFile: /src/mhd2/src/mhd2/daemon_set_options.c
    functionUses: 2
    functionsReached:
    - memcpy
    - malloc
    - free
    - strlen
    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:
    - mhd_assert
    - mach_task_self
    - mach_port_deallocate
    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:
    - mhd_assert
    - mach_timebase_info
    - mclock_gcd
    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:
    - mach_continuous_approximate_time
    - time
    - mclock_init_clock_get_time
    - mclock_init_mach_time
    - QueryPerformanceCounter
    - gethrtime
    - clock_gettime
    - QueryPerformanceFrequency
    - gettimeofday
    - mach_approximate_time
    - GetTickCount64
    - timespec_get
    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:
    - mach_continuous_approximate_time
    - time
    - mhd_assert
    - QueryPerformanceCounter
    - gethrtime
    - clock_gettime
    - gettimeofday
    - mach_approximate_time
    - clock_get_time
    - GetTickCount64
    - timespec_get
    - mhd_UNREACHABLE
    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:
    - mhd_assert
    - GetSystemInfo
    - 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:343,1
    - Dst: VirtualAlloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:350,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:362,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:364,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:366,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:369,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:373,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:377,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - max
    - zeroing
    argTypes:
    - size_t
    - enum mhd_MemPoolZeroing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 380
    functionName: mhd_pool_create
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 4
    functionsReached:
    - VirtualAlloc
    - mhd_ROUND_TO_ALIGN
    - mhd_assert
    - malloc
    - mmap
    - free
    - mhd_calloc
    - mhd_POISON_MEMORY
    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:389,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:390,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:391,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:391,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:392,1
    - Dst: munmap
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:397,1
    - Dst: VirtualFree
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:400,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:408,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mhd_MemoryPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: mhd_pool_destroy
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_ROUND_TO_ALIGN
    - VirtualFree
    - mhd_assert
    - munmap
    - mhd_UNPOISON_MEMORY
    - free
    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: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    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:424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:425,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:426,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mhd_MemoryPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 432
    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:445,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:446,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:447,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:447,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:448,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:463,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: 465
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 465
    functionName: mhd_pool_allocate
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_ROUND_TO_ALIGN
    - mhd_UNPOISON_MEMORY
    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: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: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:476,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:479,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:480,1
    - Dst: mp_ptr_le_
      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_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:482,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:484,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: 487
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: mhd_pool_is_resizable_inplace
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 1
    functionsReached:
    - mp_ptr_le_
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mp_ptr_diff_
    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:500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:501,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:502,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:502,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:503,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:511,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:512,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:522,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: 524
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 524
    functionName: mhd_pool_try_alloc
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_ROUND_TO_ALIGN
    - mhd_UNPOISON_MEMORY
    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: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_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:542,1
    - Dst: mhd_ROUND_TO_ALIGN
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:542,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:544,1
    - Dst: __asan_region_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:544,1
    - Dst: mp_ptr_diff_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:549,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:552,1
    - Dst: mp_ptr_le_
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:552,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:554,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:557,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:559,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: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 608
    functionName: mhd_pool_reallocate
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 1
    functionsReached:
    - mp_ptr_le_
    - mhd_ROUND_TO_ALIGN
    - memset
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_UNPOISON_MEMORY
    - memcpy
    - mhd_POISON_MEMORY
    - __asan_region_is_poisoned
    - mp_ptr_diff_
    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:
    - mp_ptr_le_
    - mhd_ROUND_TO_ALIGN
    - memset
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - __asan_address_is_poisoned
    - mhd_POISON_MEMORY
    - __asan_region_is_poisoned
    - mp_ptr_diff_
    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:721,1
    - Dst: __asan_region_is_poisoned
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:721,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:723,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:728,1
    - Dst: mhd_UNPOISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:738,1
    - Dst: VirtualFree
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:750,1
    - Dst: VirtualAlloc
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:756,1
    - Dst: abort
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:760,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:764,1
    - Dst: mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:768,1
    - Dst: mhd_POISON_MEMORY
      Src: /src/mhd2/src/mhd2/mempool_funcs.c:770,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: 773
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 773
    functionName: mhd_pool_reset
    functionSourceFile: /src/mhd2/src/mhd2/mempool_funcs.c
    functionUses: 0
    functionsReached:
    - mp_ptr_le_
    - VirtualAlloc
    - VirtualFree
    - memset
    - mhd_assert
    - mhd_ROUND_TO_ALIGN_PLUS_RED_ZONE
    - mhd_UNPOISON_MEMORY
    - abort
    - mhd_POISON_MEMORY
    - __asan_region_is_poisoned
    - mp_ptr_diff_
    - memmove
    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:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    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:75,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:75,1
    - Dst: mhd_itc_activate
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:76,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: mhd_daemon_trigger_itc
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_ITC_IS_VALID
    - mhd_assert
    - mhd_itc_activate
    - mhd_LOG_MSG
    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:95,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:96,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:101,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - d
    - requested_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 109
    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_unlock_chk
    - mhd_mutex_lock_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:118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:119,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:123,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - d
    - requested_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 136
    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_unlock_chk
    - mhd_mutex_lock_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:143,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:144,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:145,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - d
    - reclaimed_size
    argTypes:
    - struct MHD_Daemon*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 148
    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_unlock_chk
    - mhd_mutex_lock_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:157,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:163,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:167,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: 172
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: mhd_daemon_get_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_daemon_claim_lbuf
    - malloc
    - mhd_daemon_reclaim_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:182,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:183,1
    - Dst: mhd_daemon_claim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:185,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:189,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:191,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:194,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: 202
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 202
    functionName: mhd_daemon_grow_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - malloc
    - realloc
    - mhd_daemon_claim_lbuf
    - mhd_daemon_reclaim_lbuf
    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:213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:215,1
    - Dst: mhd_daemon_claim_lbuf_up_to
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:217,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:223,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:228,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:236,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:250,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: 256
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 256
    functionName: mhd_daemon_extend_lbuf_up_to
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_daemon_claim_lbuf_up_to
    - mhd_assert
    - malloc
    - realloc
    - mhd_daemon_reclaim_lbuf
    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:266,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:269,1
    - Dst: mhd_daemon_reclaim_lbuf
      Src: /src/mhd2/src/mhd2/daemon_funcs.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - d
    - buf
    argTypes:
    - struct MHD_Daemon*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: mhd_daemon_free_lbuf
    functionSourceFile: /src/mhd2/src/mhd2/daemon_funcs.c
    functionUses: 5
    functionsReached:
    - mhd_assert
    - free
    - 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: 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_to_bin_n
    - mhd_stream_alloc_memory
    - mhd_base64_max_dec_size
    - mhd_assert
    - memchr
    - mhd_request_get_auth_header_value
    - mhd_CNTNR_PTR
    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:
    - mhd_CNTNR_CPTR
    - mhd_assert
    - find_and_parse_auth_basic
    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:92,1
    - Dst: struct MHD_Connection*::rp::app_act::data::cntnue::iov_data::iov_fcb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 102
    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:160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:171,1
    - Dst: MHD_HTTP_VERSION_IS_SUPPORTED
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:174,1
    - Dst: mhd_stream_has_header_token_st
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:178,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:189,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:191,1
    - Dst: MHD_IS_HTTP_VER_SUPPORTED
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:191,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: get_conn_reuse
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_stream_has_header_token_st
    - MHD_IS_HTTP_VER_SUPPORTED
    - MHD_HTTP_VERSION_IS_SUPPORTED
    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:216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - c
    - rcode
    argTypes:
    - struct MHD_Connection*
    - uint_fast16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 255
    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:274,1
    - Dst: get_conn_reuse
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:278,1
    - Dst: is_reply_body_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:284,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:308,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:331,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 359
    functionName: setup_reply_properties
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_C_HAS_TLS
    - get_conn_reuse
    - is_reply_body_needed
    - mhd_UNREACHABLE
    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:371,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:376,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:377,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:385,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 392
    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:397,1
    - Dst: time
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:415,1
    - Dst: gmtime_r
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:418,1
    - Dst: gmtime_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:422,1
    - Dst: gmtime_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:426,1
    - Dst: gmtime
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:430,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:444,1
    - Dst: mhd_uint16_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:455,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:460,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:462,1
    - Dst: mhd_uint8_to_str_pad
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - date
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 471
    functionName: mhd_build_date_str
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - time
    - gmtime
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mhd_uint8_to_str_pad
    - mhd_uint16_to_str
    - 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:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 500
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:521,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - buf
    - ppos
    - buf_size
    - append
    - append_size
    argTypes:
    - char*
    - size_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 527
    functionName: buffer_append
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: "MHD_FN_PAR_NONNULL_ALL_ buffer_append (char *buf,\n               size_t
      *ppos,\n               size_t buf_size,\n               const char *append,\n
      \              size_t append_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:561,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:569,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:571,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:577,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:591,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:598,1
    - Dst: mhd_str_equal_caseless_n
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:598,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:604,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:607,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:608,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:609,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:613,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:616,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:617,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:618,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:628,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    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: 631
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 631
    functionName: add_user_headers
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_n
    - mhd_assert
    - mhd_SSTR_LEN
    - mhd_DLINKEDL_GET_NEXT
    - memcpy
    - mhd_str_equal_caseless_n_st
    - 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
    - ','
    - ppos
    - ','
    - buf_size
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: buffer_append_s
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_append_s(buf,ppos,buf_size,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - ppos
    - ','
    - buf_size
    - ','
    - pmhdstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: buffer_append_mstr
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_append_mstr(buf,ppos,buf_size,pmhdstr)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:683,1
    - Dst: setup_reply_properties
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:686,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:688,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:689,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:693,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:696,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:698,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:701,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:704,1
    - Dst: check_connection_reply
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:708,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:720,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:741,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:747,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:759,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:764,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:770,1
    - Dst: mhd_uint16_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:778,1
    - Dst: mhd_HTTP_status_code_to_string_int
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:786,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:787,1
    - Dst: buffer_append
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:788,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:804,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:807,1
    - Dst: get_date_header
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:823,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:827,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:828,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:833,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:839,1
    - Dst: mhd_RESP_HAS_AUTH_DIGEST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:849,1
    - Dst: mhd_auth_digest_get_new_nonce
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:853,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:856,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:861,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:863,1
    - Dst: buffer_append_mstr
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:867,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:870,1
    - Dst: add_user_headers
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:879,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:893,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:894,1
    - Dst: buffer_append_s
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:908,1
    - Dst: mhd_uint64_to_str
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:911,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:926,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 134
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 941
    functionName: build_header_response_inn
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - buffer_append
    - check_connection_reply
    - mhd_assert
    - mhd_HTTP_status_code_to_string_int
    - mhd_uint16_to_str
    - get_date_header
    - mhd_STREAM_ABORT
    - buffer_append_mstr
    - mhd_stream_maximize_write_buffer
    - mhd_uint64_to_str
    - buffer_append_s
    - mhd_auth_digest_get_new_nonce
    - mhd_DLINKEDL_GET_NEXT
    - add_user_headers
    - memcpy
    - setup_reply_properties
    - mhd_DLINKEDL_GET_FIRST
    - mhd_RESP_HAS_AUTH_DIGEST
    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:947,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:953,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 962
    functionName: mhd_stream_build_header_response
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - build_header_response_inn
    - 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:988,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1006,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1009,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1011,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1016,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1025,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1026,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - c
    - act
    argTypes:
    - struct MHD_Connection*
    - struct MHD_DynamicContentCreatorAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1030
    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_assert
    - mhd_STREAM_ABORT
    - mhd_LOG_MSG
    - mhd_DCC_ACTION_IS_VALID
    - mhd_UNREACHABLE
    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:1051,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1054,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1055,1
    - Dst: mhd_read_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1057,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1066,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1071,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1077,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    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: 1090
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1090
    functionName: read_response_file
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_read_file
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_STREAM_ABORT
    - mhd_UNREACHABLE
    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:1099,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1100,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1102,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1118,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1137,1
    - Dst: struct MHD_Response*::cntn::dyn::cb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1143,1
    - Dst: preprocess_dcc_action
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1154,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1155,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1161,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1167,1
    - Dst: read_response_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1196,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1207,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1211,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1216,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1221,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1235,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1236,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1239
    functionName: mhd_stream_prep_unchunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_stream_alloc_memory
    - mhd_assert
    - mhd_UNREACHABLE
    - mhd_STREAM_ABORT
    - struct MHD_Response*::cntn::dyn::cb
    - memcpy
    - preprocess_dcc_action
    - read_response_file
    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:1261,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1262,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1264,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1269,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1274,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1282,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1304,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1306,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1315,1
    - Dst: struct MHD_Response*::cntn::dyn::cb
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1321,1
    - Dst: preprocess_dcc_action
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1332,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1337,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1343,1
    - Dst: read_response_file
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1354,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1365,1
    - Dst: mhd_uint32_to_strx
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1369,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1372,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1373,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1375,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1391
    functionName: mhd_stream_prep_chunked_body
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_assert
    - mhd_STREAM_ABORT
    - struct MHD_Response*::cntn::dyn::cb
    - memcpy
    - mhd_uint32_to_strx
    - preprocess_dcc_action
    - read_response_file
    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:1411,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1412,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1413,1
    - Dst: mhd_stream_maximize_write_buffer
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1415,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1421,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1437,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1441,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1445,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1459
    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:1465,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/stream_process_reply.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1474
    functionName: mhd_stream_prep_chunked_footer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_reply.c
    functionUses: 0
    functionsReached:
    - mhd_STREAM_ABORT
    - prep_chunked_footer_inn
    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: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    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: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    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: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    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:98,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: 48
    argCount: 2
    argNames:
    - buf_size
    - buf
    argTypes:
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 221
    functionName: mhd_rng
    functionSourceFile: /src/mhd2/src/mhd2/mhd_rng.c
    functionUses: 0
    functionsReached:
    - fopen
    - BCryptGenRandom
    - gnutls_rnd
    - mbedtls_ctr_drbg_random
    - fread
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - RAND_bytes
    - arc4random_buf
    - getrandom
    - mbedtls_ctr_drbg_seed
    - mbedtls_ctr_drbg_init
    - mbedtls_entropy_init
    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: []
    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: 10
    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: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_MSTR_INIT(sstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_tls_funcs.c:66,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_funcs.c:68,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_funcs.c:69,1
    - Dst: mhd_tls_gnu_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_funcs.c:74,1
    - Dst: mhd_tls_open_is_inited_fine
      Src: /src/mhd2/src/mhd2/mhd_tls_funcs.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: mhd_tls_is_backend_available
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.c
    functionUses: 0
    functionsReached:
    - 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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    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: 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: 41
    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: 41
    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: 41
    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:95,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:101,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:110,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:114,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:116,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:123,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:131,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:135,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:136,1
    - Dst: mhd_pool_allocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - c
    - size
    argTypes:
    - struct MHD_Connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 148
    functionName: mhd_stream_alloc_memory
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 7
    functionsReached:
    - mhd_pool_reallocate
    - mhd_pool_is_resizable_inplace
    - mhd_assert
    - mhd_pool_allocate
    - mhd_pool_try_alloc
    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:162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:163,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:167,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:170,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:176,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:176,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:178,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: mhd_stream_shrink_read_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_pool_reallocate
    - mhd_pool_is_resizable_inplace
    - mhd_pool_deallocate
    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:195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:197,1
    - Dst: mhd_pool_get_free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:207,1
    - Dst: mhd_pool_is_resizable_inplace
      Src: /src/mhd2/src/mhd2/stream_funcs.c:208,1
    - Dst: mhd_pool_reallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 226
    functionName: mhd_stream_maximize_write_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - mhd_pool_get_free
    - mhd_pool_is_resizable_inplace
    - mhd_pool_reallocate
    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:234,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:236,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/stream_funcs.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: mhd_stream_release_write_buffer
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - mhd_pool_deallocate
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_release_write_buffer (struct MHD_Connection
      *restrict c)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:337,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:365,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/stream_funcs.c:370,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:381,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:392,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:399,1
    - Dst: mhd_request_get_value_n
      Src: /src/mhd2/src/mhd2/stream_funcs.c:402,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:431,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:433,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/stream_funcs.c:433,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    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: 521
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 521
    functionName: mhd_stream_get_no_space_err_status_code
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 4
    functionsReached:
    - mhd_request_get_value_n
    - mhd_assert
    - strlen
    - mhd_str_equal_caseless_bin_n
    - mhd_SSTR_LEN
    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:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 529
    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:546,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:552,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:562,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:563,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:564,1
    - Dst: struct MHD_Daemon*::notify_completed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:569,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:576,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:579,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_funcs.c:584,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:592,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:596,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/stream_funcs.c:600,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/stream_funcs.c:602,1
    - Dst: mhd_pool_reset
      Src: /src/mhd2/src/mhd2/stream_funcs.c:630,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - c
    - reuse
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 637
    functionName: mhd_stream_finish_req_serving
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_stream_call_dcc_cleanup_if_needed
    - memset
    - mhd_conn_start_closing
    - mhd_assert
    - mhd_response_dec_use_count
    - struct MHD_Daemon*::notify_completed
    - mhd_pool_reset
    - free
    - mhd_DLINKEDL_INIT_LIST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: "MHD_INTERNAL mhd_stream_finish_req_serving (struct MHD_Connection
      *restrict c,\n                               bool reuse)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:647,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/stream_funcs.c:652,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_funcs.c:668,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_funcs.c:669,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/stream_funcs.c:674,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/stream_funcs.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 682
    functionName: mhd_stream_is_timeout_expired
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_LOG_FMT
    - mhd_assert
    - mhd_LOG_PRINT
    - mhd_monotonic_msec_counter
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_is_timeout_expired (struct MHD_Connection *restrict
      c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:694,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:694,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:697,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/stream_funcs.c:703,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:704,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:711,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 713
    functionName: mhd_stream_update_activity_mark
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_DLINKEDL_INS_FIRST_D
    - mhd_assert
    - mhd_monotonic_msec_counter
    - mhd_DLINKEDL_DEL_D
    - mhd_D_HAS_WORKERS
    - mhd_D_HAS_THR_PER_CONN
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_update_activity_mark (struct MHD_Connection
      *restrict c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:721,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:721,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:724,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:725,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/stream_funcs.c:730,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:732,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:736,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 739
    functionName: mhd_stream_resumed_activity_mark
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_INS_FIRST_D
    - mhd_assert
    - mhd_monotonic_msec_counter
    - mhd_D_HAS_WORKERS
    - mhd_D_HAS_THR_PER_CONN
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_stream_resumed_activity_mark (struct MHD_Connection
      *restrict c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/stream_funcs.c:746,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:750,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/stream_funcs.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 755
    functionName: mhd_conn_remove_from_timeout_lists
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_DEL_D
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_remove_from_timeout_lists (struct MHD_Connection
      *restrict c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_socket_set_hard_close
      Src: /src/mhd2/src/mhd2/stream_funcs.c:769,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:776,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/stream_funcs.c:777,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:783,1
    - Dst: mhd_tls_conn_shutdown
      Src: /src/mhd2/src/mhd2/stream_funcs.c:789,1
    - Dst: mhd_socket_shut_wr
      Src: /src/mhd2/src/mhd2/stream_funcs.c:795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - c
    - close_hard
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 802
    functionName: conn_start_socket_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_socket_shut_wr
    - mhd_socket_set_hard_close
    - mhd_assert
    - mhd_C_HAS_TLS
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_tls_conn_shutdown
    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:811,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_funcs.c:811,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:813,1
    - Dst: conn_start_socket_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:815,1
    - Dst: mhd_conn_remove_from_timeout_lists
      Src: /src/mhd2/src/mhd2/stream_funcs.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - c
    - close_hard
    argTypes:
    - struct MHD_Connection*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 823
    functionName: conn_h2_start_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_C_IS_HTTP2
    - mhd_conn_remove_from_timeout_lists
    - 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:841,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_funcs.c:851,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:853,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:856,1
    - Dst: conn_h2_start_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:857,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:873,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:878,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:884,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:898,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:913,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:921,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:928,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:936,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:944,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:952,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:960,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:967,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:975,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:986,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:998,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1006,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1023,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1028,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1073,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1074,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1080,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1085,1
    - Dst: conn_start_socket_closing
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1092,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1117,1
    - Dst: notify_completed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1131,1
    - Dst: mhd_conn_remove_from_timeout_lists
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1132,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 221
    argCount: 3
    argNames:
    - c
    - reason
    - log_msg
    argTypes:
    - struct MHD_Connection*
    - enum mhd_ConnCloseReason
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 1138
    functionName: mhd_conn_start_closing
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - fprintf
    - conn_h2_start_closing
    - mhd_conn_remove_from_timeout_lists
    - mhd_MSG4LOG
    - mhd_assert
    - mhd_C_IS_HTTP2
    - mhd_LOG_MSG
    - conn_start_socket_closing
    - notify_completed
    - mhd_UNREACHABLE
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_conn_mark_unready
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1146,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1148,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1150,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1152,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1158,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1164,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1174,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1142
    functionDepth: 4
    functionLinenumber: 1142
    functionLinenumberEnd: 1184
    functionName: mhd_conn_pre_clean_part1
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 1
    functionsReached:
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_daemon_free_lbuf
    - epoll_ctl
    - mhd_conn_mark_unready
    - mhd_log_extr_event_dereg_failed
    - mhd_LOG_MSG
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_daemon_extr_event_reg
    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:1192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1198,1
    - Dst: mhd_conn_pre_clean_part1
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1203,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1207,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1214,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/stream_funcs.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1188
    functionDepth: 5
    functionLinenumber: 1188
    functionLinenumberEnd: 1230
    functionName: mhd_conn_pre_clean
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_conn_pre_clean_part1
    - mhd_assert
    - mhd_response_dec_use_count
    - mhd_pool_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_conn_pre_clean (struct MHD_Connection *restrict c)
  - 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_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:
    - buf_append
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_LOG_MSG
    - mhd_str_equal_caseless_n_st
    - mhd_LOG_FMT
    - memcpy
    - strcspn
    - mhd_str_has_s_token_caseless
    - mhd_MSTR_INIT
    - mhd_LOG_PRINT
    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:
    - build_reply_header
    - mhd_stream_shrink_read_buffer
    - mhd_assert
    - mhd_stream_maximize_write_buffer
    - mhd_LOG_MSG
    - mhd_stream_release_write_buffer
    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_assert
    - mhd_CNTNR_PTR
    - connection_prepare_for_upgrade
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_recv.c:68,1
    - Dst: mhd_sys_recv
      Src: /src/mhd2/src/mhd2/mhd_recv.c:78,1
    - Dst: mhd_socket_error_get_from_sys_err
      Src: /src/mhd2/src/mhd2/mhd_recv.c:91,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/mhd_recv.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - c
    - buf_size
    - buf
    - received
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: mhd_recv_plain
    functionSourceFile: /src/mhd2/src/mhd2/mhd_recv.c
    functionUses: 0
    functionsReached:
    - mhd_sys_recv
    - mhd_socket_error_get_from_sys_err
    - mhd_SCKT_GET_LERR
    - MHD_FN_PAR_DYN_ARR_SIZE_
    linkageType: ''
    returnType: enum mhd_SocketError
    signature: "enum mhd_SocketError mhd_recv_plain (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: 6
    BranchProfiles: []
    Callsites:
    - Dst: MHD_FN_PAR_DYN_ARR_SIZE_
      Src: /src/mhd2/src/mhd2/mhd_recv.c:109,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:115,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_recv.c:115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:116,1
    - Dst: mhd_tls_conn_recv
      Src: /src/mhd2/src/mhd2/mhd_recv.c:118,1
    - Dst: mhd_tls_conn_has_data_in
      Src: /src/mhd2/src/mhd2/mhd_recv.c:138,1
    - Dst: mhd_tls_conn_has_data_in
      Src: /src/mhd2/src/mhd2/mhd_recv.c:143,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: 148
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: mhd_recv_tls
    functionSourceFile: /src/mhd2/src/mhd2/mhd_recv.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_tls_conn_has_data_in
    - mhd_C_HAS_TLS
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_tls_conn_recv
    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:157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:160,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_recv.c:161,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/mhd_recv.c:164,1
    - Dst: mhd_recv_tls
      Src: /src/mhd2/src/mhd2/mhd_recv.c:165,1
    - Dst: mhd_recv_plain
      Src: /src/mhd2/src/mhd2/mhd_recv.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - c
    - buf_size
    - buf
    - received
    argTypes:
    - struct MHD_Connection*
    - size_t
    - char[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: mhd_recv
    functionSourceFile: /src/mhd2/src/mhd2/mhd_recv.c
    functionUses: 1
    functionsReached:
    - mhd_recv_tls
    - mhd_assert
    - mhd_C_HAS_TLS
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - mhd_recv_plain
    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_INIT_LINKS
    - mhd_assert
    - malloc
    - strlen
    - realloc
    - mhd_DLINKEDL_INS_LAST
    - mhd_str_quote
    - memcpy
    - memchr
    - mhd_MSTR_INIT
    - 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_atomic_counter_get
    - mhd_assert
    - mhd_mutex_unlock_chk
    - mhd_mutex_lock
    - response_add_auth_basic_challenge_int
    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: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: mhd_MACRO_CONCAT3_
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: mhd_MACRO_CONCAT3
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_choice.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: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    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: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    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: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    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: 3
    argNames:
    - (
    - name_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    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:
    - mhd_assert
    - struct MHD_DynContentZCIoVec*::iov_fcb
    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: 0
    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: 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_str_to_lowercase_bin_n
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    - malloc
    - mhd_DLINKEDL_INS_LAST
    - memcpy
    - mhd_str_is_lowercase_bin_n
    - is_name_h2_allowed
    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
    - free
    - mhd_DLINKEDL_GET_LAST
    linkageType: ''
    returnType: void
    signature: void mhd_response_remove_all_headers (struct MHD_Response *restrict
      r)
  - BBCount: 5
    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:253,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:259,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/response_add_header.c:260,1
    - Dst: response_add_header_no_check
      Src: /src/mhd2/src/mhd2/response_add_header.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - response
    - name
    - value
    argTypes:
    - struct MHD_Response*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 268
    functionName: response_add_header_int
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 0
    functionsReached:
    - strlen
    - memchr
    - response_add_header_no_check
    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:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/response_add_header.c:291,1
    - Dst: mhd_atomic_counter_get
      Src: /src/mhd2/src/mhd2/response_add_header.c:291,1
    - Dst: response_add_header_int
      Src: /src/mhd2/src/mhd2/response_add_header.c:298,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/response_add_header.c:301,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: 304
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: MHD_response_add_header
    functionSourceFile: /src/mhd2/src/mhd2/response_add_header.c
    functionUses: 4
    functionsReached:
    - mhd_atomic_counter_get
    - mhd_assert
    - response_add_header_int
    - mhd_mutex_unlock_chk
    - mhd_mutex_lock
    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: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    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_request_get_values_cb
    - mhd_CNTNR_PTR
    - mhd_request_get_auth_basic_creds
    - mhd_request_get_auth_digest_info
    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:87,1
    - Dst: nanosleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:92,1
    - Dst: usleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - millisec
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 114
    functionName: mhd_sleep
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 0
    functionsReached:
    - usleep
    - nanosleep
    - Sleep
    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:152,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgraded_net.c:157,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/upgraded_net.c:166,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/upgraded_net.c:177,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/upgraded_net.c:184,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:198,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/upgraded_net.c:222,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:232,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:233,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:234,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:235,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/upgraded_net.c:268,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/upgraded_net.c:269,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/upgraded_net.c:271,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:285,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:286,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:287,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:288,1
    - Dst: mhd_sleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:305,1
    - Dst: mhd_recv
      Src: /src/mhd2/src/mhd2/upgraded_net.c:312,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:325,1
    - Dst: mhd_SOCKET_ERR_IS_BAD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:331,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 115
    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: 335
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 335
    functionName: MHD_upgraded_recv
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 2
    functionsReached:
    - mhd_recv
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - mhd_mutex_lock_chk
    - mhd_SCKT_ERR_IS_EAGAIN
    - select
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_mutex_unlock_chk
    - FD_ZERO
    - mhd_SOCKET_ERR_IS_BAD
    - FD_SET
    - mhd_SOCKET_ERR_IS_HARD
    - memcpy
    - mhd_poll
    - mhd_SCKT_GET_LERR
    - mhd_sleep
    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:379,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:390,1
    - Dst: mhd_SOCKET_ERR_IS_BAD
      Src: /src/mhd2/src/mhd2/upgraded_net.c:399,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:407,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/upgraded_net.c:415,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/upgraded_net.c:453,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:468,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:469,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:470,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:471,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:472,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/upgraded_net.c:513,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/upgraded_net.c:514,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/upgraded_net.c:516,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/upgraded_net.c:534,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:535,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/upgraded_net.c:536,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/upgraded_net.c:537,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/upgraded_net.c:538,1
    - Dst: mhd_sleep
      Src: /src/mhd2/src/mhd2/upgraded_net.c:553,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 109
    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: 560
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 560
    functionName: MHD_upgraded_send
    functionSourceFile: /src/mhd2/src/mhd2/upgraded_net.c
    functionUses: 1
    functionsReached:
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - mhd_SCKT_ERR_IS_EAGAIN
    - select
    - mhd_assert
    - mhd_SCKT_ERR_IS_EINTR
    - FD_ZERO
    - mhd_SOCKET_ERR_IS_BAD
    - FD_SET
    - mhd_monotonic_msec_counter
    - mhd_SOCKET_ERR_IS_HARD
    - mhd_poll
    - mhd_SCKT_GET_LERR
    - mhd_sleep
    - mhd_send_data
    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_DLINKEDL_INIT_LINKS
    - mhd_CNTNR_PTR
    - mhd_DLINKEDL_INS_LAST
    - mhd_stream_alloc_memory
    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:
    - fprintf
    - MHD_FD_STATE_IS_SET_EXCEPT
    - mhd_assert
    - MHD_FD_STATE_IS_SET_SEND
    - MHD_FD_STATE_IS_SET_RECV
    - mhd_WM_INT_HAS_EXT_EVENTS
    - struct MHD_Daemon*::events::data::extr::cb_data::cb
    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_assert
    - mhd_UNREACHABLE
    - mhd_str_equal_caseless_bin_n
    - mhd_DLINKEDL_GET_NEXT
    - mhd_CNTNR_PTR
    - mhd_DLINKEDL_GET_FIRST
    - mhd_MSTR_INIT
    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:130,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:132,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:134,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:136,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: dsettings_release
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - free
    linkageType: ''
    returnType: void
    signature: void dsettings_release (struct DaemonOptions *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 180
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:207,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:222,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:229,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: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    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_FD_FITS_DAEMON
    - mhd_socket_nonblocking
    - mhd_setsockopt
    - bind
    - mhd_LOG_MSG
    - memcpy
    - WSASocketW
    - memset
    - mhd_assert
    - htonl
    - create_bind_listen_stream_socket_inner
    - listen
    - ntohs
    - socket
    - mhd_getsockopt
    - mhd_socket_close
    - htons
    - mhd_socket_noninheritable
    - mhd_SCKT_LERR_IS_AF
    - mhd_UNREACHABLE
    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:
    - create_bind_listen_stream_socket_inner
    - mhd_LOG_MSG
    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:
    - getsockname
    - memset
    - mhd_assert
    - ntohs
    - mhd_LOG_MSG
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1248,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1249,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1252,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1253,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1256,1
    - Dst: epoll_create1
      Src: /src/mhd2/src/mhd2/daemon_start.c:1259,1
    - Dst: epoll_create
      Src: /src/mhd2/src/mhd2/daemon_start.c:1261,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_start.c:1264,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1265,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1272,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_start.c:1277,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1280,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - d
    - log_failures
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1291
    functionName: init_epoll
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_FD_FITS_DAEMON
    - mhd_assert
    - epoll_create1
    - close
    - mhd_WM_INT_IS_THREAD_PER_CONN
    - mhd_WM_INT_IS_THREAD_POOL
    - mhd_socket_noninheritable
    - mhd_LOG_MSG
    - epoll_create
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode init_epoll (struct MHD_Daemon *restrict d,\n            bool
      log_failures)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1300,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1303,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1304,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1305,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1306,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1309
    functionName: deinit_epoll
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_WORKERS
    - mhd_assert
    - close
    - mhd_WM_INT_IS_THREAD_POOL
    linkageType: ''
    returnType: void
    signature: void deinit_epoll (struct MHD_Daemon *restrict d)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1334,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1338,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1342,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1352,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1352,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1354,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1363,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1363,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1365,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1374,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1374,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1376,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1390,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1394,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1409,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1409,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1414,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1414,1
    - Dst: mhd_WM_INT_IS_THREAD_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1421,1
    - Dst: mhd_tls_is_edge_trigg_supported
      Src: /src/mhd2/src/mhd2/daemon_start.c:1428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1435,1
    - Dst: init_epoll
      Src: /src/mhd2/src/mhd2/daemon_start.c:1441,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1449,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1453,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1455,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1457,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1468,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1478,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1480,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1480,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1494,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1494,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1495,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1496,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1497,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1498,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1507,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1507,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1508,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1509,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1510,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1511,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1519,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/daemon_start.c:1519,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1520,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1521,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:1524,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:1526,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:1537,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1541
    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_POLL_TYPE_INT_IS_EPOLL
    - mhd_tls_is_edge_trigg_supported
    - mhd_assert
    - mhd_WM_INT_IS_THREAD_PER_CONN
    - mhd_LOG_MSG
    - mhd_WM_INT_HAS_EXT_EVENTS
    - init_epoll
    - mhd_UNREACHABLE
    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:1559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1560,1
    - Dst: daemon_choose_and_preinit_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:1565,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1569,1
    - Dst: create_bind_listen_stream_socket
      Src: /src/mhd2/src/mhd2/daemon_start.c:1585,1
    - Dst: mhd_D_IS_USING_EDGE_TRIG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1591,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:1592,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1594,1
    - Dst: detect_listen_type_and_port
      Src: /src/mhd2/src/mhd2/daemon_start.c:1605,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1615,1
    - Dst: close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1621,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1624,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1627
    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:
    - mhd_socket_close
    - mhd_D_IS_USING_EDGE_TRIG
    - mhd_assert
    - daemon_choose_and_preinit_events
    - detect_listen_type_and_port
    - close
    - mhd_WM_INT_IS_THREAD_POOL
    - create_bind_listen_stream_socket
    - mhd_LOG_MSG
    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:1637,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1638,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1639,1
    - Dst: deinit_epoll
      Src: /src/mhd2/src/mhd2/daemon_start.c:1642,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_start.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1650
    functionName: daemon_deinit_net
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - mhd_assert
    - deinit_epoll
    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:1658,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1662
    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:1696,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1700,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1707,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1709,1
    - Dst: mhd_atomic_counter_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1715,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1717,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:1738,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1741,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1744
    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_atomic_counter_init
    - mhd_mutex_init
    - mhd_assert
    - free
    - mhd_LOG_MSG
    - mhd_calloc
    - mhd_mutex_destroy_chk
    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:1757,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1758,1
    - Dst: mhd_atomic_counter_deinit
      Src: /src/mhd2/src/mhd2/daemon_start.c:1759,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:1760,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1761,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1763
    functionName: daemon_deinit_auth_digest
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_atomic_counter_deinit
    - free
    - mhd_mutex_destroy_chk
    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: 1768
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1768
    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: 1769
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1769
    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:1788,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1801,1
    - Dst: mhd_tls_is_backend_available
      Src: /src/mhd2/src/mhd2/daemon_start.c:1810,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1813,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1821,1
    - Dst: mhd_tls_daemon_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:1827,1
    - Dst: mhd_D_HAS_EDGE_TRIGG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1828,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1831,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1832,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1779
    functionDepth: 2
    functionLinenumber: 1779
    functionLinenumberEnd: 1838
    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_tls_daemon_init
    - mhd_assert
    - mhd_LOG_MSG
    - mhd_tls_is_backend_available
    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:1848,1
    - Dst: mhd_tls_daemon_deinit
      Src: /src/mhd2/src/mhd2/daemon_start.c:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1855
    functionName: daemon_deinit_tls
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - 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:1870,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:1870,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1872,1
    - Dst: mhd_mutex_init_short
      Src: /src/mhd2/src/mhd2/daemon_start.c:1883,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1890
    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_assert
    - mhd_LOG_MSG
    - mhd_D_HAS_MASTER
    - 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:1901,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1903
    functionName: '(1) void

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

      daemon_deinit_large_buf (struct MHD_Daemon *restrict d)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1927,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1931,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1932,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:1932,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:1934,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1939,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1949,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1950,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1951,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1952,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1955,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1958,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1968,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:1970,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:1972,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1980,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:1981,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:1983,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1986,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:1990,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2000,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2003,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2010,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2010,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2012,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2014,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2015,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_start.c:2017,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: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2030,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2042,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2055,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2058,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 2060
    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_assert
    - malloc
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - free
    - mhd_LOG_MSG
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_INIT_LIST
    - mhd_UNREACHABLE
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2070,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2071,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2071,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2074,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2075,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2081,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2082,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2083,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2084,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2085,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2086,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2092,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2093,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2094,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2095,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2101,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2102,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2110
    functionName: '(1) void

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

      deallocate_events (struct MHD_Daemon *restrict d)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2196,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_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2199,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2201,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:2201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2209,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2221,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2222,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2241,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2253,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2254,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2263,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:2281,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:2289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2290,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2296,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2315,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_start.c:2322,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2323,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2325,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_start.c:2329,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2330,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_start.c:2339,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2342,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_start.c:2346,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2364,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2367,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 92
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2191
    functionDepth: 2
    functionLinenumber: 2191
    functionLinenumberEnd: 2369
    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:
    - epoll_ctl
    - mhd_assert
    - mhd_dbg_print_fd_mon_req
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - mhd_LOG_MSG
    - mhd_ITC_IS_VALID
    - mhd_itc_r_fd
    - mhd_daemon_extr_event_reg
    - mhd_UNREACHABLE
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2380,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2386,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/daemon_start.c:2394,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/daemon_start.c:2395,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2429,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2377
    functionDepth: 2
    functionLinenumber: 2377
    functionLinenumberEnd: 2433
    functionName: '(1) void

      deinit_daemon_fds_monitoring (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_itc_r_fd
    - mhd_daemon_extr_event_reg
    - mhd_UNREACHABLE
    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:2448,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2448,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2449,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2451,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2452,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2453,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2478,1
    - Dst: mhd_mutex_init
      Src: /src/mhd2/src/mhd2/daemon_start.c:2479,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2492
    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_mutex_init
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_LOG_MSG
    - mhd_DLINKEDL_INIT_LIST
    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:2503,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2503,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2504,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2504,1
    - Dst: mhd_mutex_destroy_chk
      Src: /src/mhd2/src/mhd2/daemon_start.c:2506,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2509,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2510,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2511,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2511,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2512,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2512,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2513,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2513,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2514,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2515,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2515,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2516,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2499
    functionDepth: 1
    functionLinenumber: 2499
    functionLinenumberEnd: 2517
    functionName: '(1) void

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

      deinit_individual_conns (struct MHD_Daemon *restrict d)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2535,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:2535,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2536,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/daemon_start.c:2536,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2537,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2537,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2538,1
    - Dst: allocate_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:2540,1
    - Dst: init_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2544,1
    - Dst: init_daemon_fds_monitoring
      Src: /src/mhd2/src/mhd2/daemon_start.c:2547,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:2555,1
    - Dst: init_individual_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:2562,1
    - Dst: deinit_daemon_fds_monitoring
      Src: /src/mhd2/src/mhd2/daemon_start.c:2568,1
    - Dst: deinit_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2570,1
    - Dst: deallocate_events
      Src: /src/mhd2/src/mhd2/daemon_start.c:2572,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2575
    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_thread_handle_ID_set_invalid
    - deinit_daemon_fds_monitoring
    - deinit_itc
    - mhd_assert
    - mhd_D_TYPE_IS_VALID
    - init_daemon_fds_monitoring
    - mhd_D_TYPE_HAS_WORKERS
    - init_individual_conns
    - deallocate_events
    - allocate_events
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - init_itc
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2620,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/daemon_start.c:2620,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2621,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:2621,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2627,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2632,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2639,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2646,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2669,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2677,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2716,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2765,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2771
    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_HAS_MASTER
    - mhd_assert
    - mhd_D_TYPE_IS_VALID
    - mhd_D_TYPE_HAS_WORKERS
    - 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\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:2789,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2789,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2790,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2791,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2797,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2797,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2798,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2805,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2805,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2806,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2810,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2810,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2811,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2812,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_start.c:2812,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2816,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2816,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2817,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:2824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2782
    functionDepth: 1
    functionLinenumber: 2782
    functionLinenumberEnd: 2826
    functionName: set_d_threading_type
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_POLL_TYPE_INT_IS_EPOLL
    - mhd_WM_INT_HAS_THREADS
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: enum MHD_StatusCode set_d_threading_type (struct MHD_Daemon *restrict
      d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2842,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2842,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2843,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2844,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2846,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2848,1
    - Dst: deinit_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:2855,1
    - Dst: deinit_epoll
      Src: /src/mhd2/src/mhd2/daemon_start.c:2858,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:2861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - d
    - num_workers
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2837
    functionDepth: 2
    functionLinenumber: 2837
    functionLinenumberEnd: 2865
    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:
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - deinit_individual_thread_data_events_conns
    - free
    - deinit_epoll
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_start.c:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2883
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2906,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2907,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2908,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2909,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:2909,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2910,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2911,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2912,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2913,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2915,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2922,1
    - Dst: mhd_itc_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:2929,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_start.c:2930,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_start.c:2934,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:2937,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_start.c:2950,1
    - Dst: reset_master_only_areas
      Src: /src/mhd2/src/mhd2/daemon_start.c:2951,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2963,1
    - Dst: init_epoll
      Src: /src/mhd2/src/mhd2/daemon_start.c:2969,1
    - Dst: init_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:2975,1
    - Dst: deinit_epoll
      Src: /src/mhd2/src/mhd2/daemon_start.c:2983,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:2990,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3001,1
    - Dst: deinit_workers_pool
      Src: /src/mhd2/src/mhd2/daemon_start.c:3002,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2894
    functionDepth: 2
    functionLinenumber: 2894
    functionLinenumberEnd: 3004
    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_thread_handle_ID_set_invalid
    - deinit_workers_pool
    - mhd_assert
    - malloc
    - init_individual_thread_data_events_conns
    - mhd_D_TYPE_HAS_WORKERS
    - deinit_epoll
    - mhd_LOG_MSG
    - memcpy
    - mhd_itc_set_invalid
    - init_epoll
    - reset_master_only_areas
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3026,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3027,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3028,1
    - Dst: set_d_threading_type
      Src: /src/mhd2/src/mhd2/daemon_start.c:3030,1
    - Dst: set_connections_total_limits
      Src: /src/mhd2/src/mhd2/daemon_start.c:3034,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3042,1
    - Dst: init_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:3043,1
    - Dst: init_workers_pool
      Src: /src/mhd2/src/mhd2/daemon_start.c:3047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3059,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3060,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3061,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3061,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3063,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3064,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3065,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3065,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3067,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3067,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3068,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3069,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3019
    functionDepth: 2
    functionLinenumber: 3019
    functionLinenumberEnd: 3072
    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:
    - set_connections_total_limits
    - mhd_assert
    - init_individual_thread_data_events_conns
    - init_workers_pool
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - mhd_D_HAS_WORKERS
    - set_d_threading_type
    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:3084,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3085,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3086,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3087,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3087,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3088,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3090,1
    - Dst: mhd_WM_INT_IS_THREAD_POOL
      Src: /src/mhd2/src/mhd2/daemon_start.c:3090,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3091,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3092,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3093,1
    - Dst: deinit_individual_thread_data_events_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:3094,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3099,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3100,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3101,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3102,1
    - Dst: deinit_workers_pool
      Src: /src/mhd2/src/mhd2/daemon_start.c:3103,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3105,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3081
    functionDepth: 1
    functionLinenumber: 3081
    functionLinenumberEnd: 3110
    functionName: '(1) void

      daemon_deinit_threading_and_conn (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - mhd_D_TYPE_HAS_WORKERS
    - deinit_individual_thread_data_events_conns
    - mhd_WM_INT_IS_THREAD_POOL
    - deinit_workers_pool
    - mhd_UNREACHABLE
    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:3128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3129,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3130,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3130,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3131,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3131,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3132,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3132,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3136,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3142,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3149,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3155,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3162,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3168,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3175,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3176,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3179,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3124
    functionDepth: 1
    functionLinenumber: 3124
    functionLinenumberEnd: 3181
    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_IS_VALID
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_WM_INT_HAS_THREADS
    - mhd_LOG_MSG
    - mhd_create_named_thread
    - mhd_UNREACHABLE
    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:3194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3195,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3196,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3197,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3200,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3200,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:3204,1
    - Dst: mhd_thread_handle_ID_join_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3205,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3191
    functionDepth: 1
    functionLinenumber: 3191
    functionLinenumberEnd: 3210
    functionName: stop_individual_daemon_thread
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_trigger_itc
    - mhd_D_TYPE_IS_VALID
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_WM_INT_HAS_THREADS
    - mhd_LOG_MSG
    - mhd_thread_handle_ID_join_thread
    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:3224,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3224,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3225,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3226,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3227,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3228,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3229,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3231,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3240,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3240,1
    - Dst: mhd_daemon_trigger_itc
      Src: /src/mhd2/src/mhd2/daemon_start.c:3242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3250,1
    - Dst: mhd_thread_handle_ID_is_valid_handle
      Src: /src/mhd2/src/mhd2/daemon_start.c:3250,1
    - Dst: mhd_thread_handle_ID_join_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3251,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_start.c:3253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - d
    - num_workers
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3257
      start: 3219
    functionDepth: 1
    functionLinenumber: 3219
    functionLinenumberEnd: 3257
    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_daemon_trigger_itc
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_is_valid_handle
    - mhd_LOG_MSG
    - mhd_ITC_IS_VALID
    - mhd_thread_handle_ID_join_thread
    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:3274,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3275,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3275,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3276,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_start.c:3276,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3277,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3278,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3279,1
    - Dst: start_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3291,1
    - Dst: stop_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3295,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3267
    functionDepth: 1
    functionLinenumber: 3267
    functionLinenumberEnd: 3298
    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_IS_VALID
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_WM_INT_HAS_THREADS
    - stop_worker_pool_threads
    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:3313,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3316,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3316,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3317,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3322,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3323,1
    - Dst: start_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3324,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3329,1
    - Dst: start_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3333,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3309
    functionDepth: 1
    functionLinenumber: 3309
    functionLinenumberEnd: 3339
    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
    - mhd_assert
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - mhd_WM_INT_HAS_THREADS
    - start_worker_pool_threads
    - mhd_UNREACHABLE
    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:3349,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3350,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3351,1
    - Dst: mhd_WM_INT_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3352,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:3358,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3358,1
    - Dst: stop_individual_daemon_thread
      Src: /src/mhd2/src/mhd2/daemon_start.c:3359,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:3365,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_start.c:3365,1
    - Dst: stop_worker_pool_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3366,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/daemon_start.c:3370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3346
    functionDepth: 2
    functionLinenumber: 3346
    functionLinenumberEnd: 3374
    functionName: '(1) void

      daemon_stop_threads (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_WM_INT_HAS_THREADS
    - stop_individual_daemon_thread
    - stop_worker_pool_threads
    - mhd_UNREACHABLE
    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:3384,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3387,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_start.c:3387,1
    - Dst: mhd_daemon_close_all_conns
      Src: /src/mhd2/src/mhd2/daemon_start.c:3391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3381
    functionDepth: 1
    functionLinenumber: 3381
    functionLinenumberEnd: 3392
    functionName: '(1) void

      daemon_close_connections (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_daemon_close_all_conns
    - mhd_WM_INT_HAS_THREADS
    - mhd_DLINKEDL_GET_LAST
    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:3410,1
    - Dst: daemon_set_work_mode
      Src: /src/mhd2/src/mhd2/daemon_start.c:3414,1
    - Dst: daemon_init_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:3418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3422,1
    - Dst: daemon_init_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:3424,1
    - Dst: daemon_init_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:3428,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3431,1
    - Dst: daemon_init_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:3432,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3435,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3436,1
    - Dst: mhd_D_TYPE_IS_INTERNAL_ONLY
      Src: /src/mhd2/src/mhd2/daemon_start.c:3436,1
    - Dst: daemon_init_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:3438,1
    - Dst: daemon_start_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3441,1
    - Dst: daemon_deinit_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:3448,1
    - Dst: daemon_deinit_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:3450,1
    - Dst: daemon_deinit_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:3452,1
    - Dst: daemon_deinit_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:3454,1
    - Dst: daemon_deinit_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:3456,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct MHD_Daemon*
    - struct DaemonOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 3403
    functionDepth: 3
    functionLinenumber: 3403
    functionLinenumberEnd: 3459
    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_deinit_auth_digest
    - daemon_set_basic_settings
    - daemon_init_auth_digest
    - daemon_deinit_large_buf
    - mhd_assert
    - mhd_D_TYPE_IS_INTERNAL_ONLY
    - daemon_deinit_threading_and_conn
    - daemon_init_net
    - daemon_deinit_net
    - daemon_init_threading_and_conn
    - daemon_init_large_buf
    - daemon_deinit_tls
    - daemon_start_threads
    - daemon_init_tls
    - daemon_set_work_mode
    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:3473,1
    - Dst: daemon_start_internal
      Src: /src/mhd2/src/mhd2/daemon_start.c:3476,1
    - Dst: dsettings_release
      Src: /src/mhd2/src/mhd2/daemon_start.c:3479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3463
    functionDepth: 2
    functionLinenumber: 3463
    functionLinenumberEnd: 3485
    functionName: MHD_daemon_start
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 9
    functionsReached:
    - mhd_assert
    - daemon_start_internal
    - dsettings_release
    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:3493,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3494,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3499,1
    - Dst: dsettings_release
      Src: /src/mhd2/src/mhd2/daemon_start.c:3500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3504,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_start.c:3505,1
    - Dst: daemon_stop_threads
      Src: /src/mhd2/src/mhd2/daemon_start.c:3507,1
    - Dst: daemon_close_connections
      Src: /src/mhd2/src/mhd2/daemon_start.c:3509,1
    - Dst: daemon_deinit_threading_and_conn
      Src: /src/mhd2/src/mhd2/daemon_start.c:3511,1
    - Dst: daemon_deinit_large_buf
      Src: /src/mhd2/src/mhd2/daemon_start.c:3513,1
    - Dst: daemon_deinit_tls
      Src: /src/mhd2/src/mhd2/daemon_start.c:3515,1
    - Dst: daemon_deinit_auth_digest
      Src: /src/mhd2/src/mhd2/daemon_start.c:3517,1
    - Dst: daemon_deinit_net
      Src: /src/mhd2/src/mhd2/daemon_start.c:3519,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_start.c:3523,1
    - Dst: mhd_lib_deinit_global_if_needed
      Src: /src/mhd2/src/mhd2/daemon_start.c:3525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3488
    functionDepth: 3
    functionLinenumber: 3488
    functionLinenumberEnd: 3526
    functionName: MHD_daemon_destroy
    functionSourceFile: /src/mhd2/src/mhd2/daemon_start.c
    functionUses: 6
    functionsReached:
    - daemon_deinit_large_buf
    - mhd_assert
    - daemon_deinit_threading_and_conn
    - daemon_stop_threads
    - daemon_deinit_net
    - free
    - daemon_deinit_tls
    - dsettings_release
    - mhd_lib_deinit_global_if_needed
    - daemon_close_connections
    - daemon_deinit_auth_digest
    linkageType: ''
    returnType: MHD_EXTERN_
    signature: MHD_EXTERN_ MHD_daemon_destroy (struct MHD_Daemon *daemon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    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: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    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:119,1
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: isasciialpha
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - isasciilower
    - isasciiupper
    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: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    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:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    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:164,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    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:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    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:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    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:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    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: 509
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 509
    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:526,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 537
    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:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 822
    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:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 844
    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:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mc
    - lc
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 862
    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: 876
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 876
    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: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    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: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    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: 906
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 906
    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: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    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: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    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: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    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: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    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: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    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: 977
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 977
    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: 991
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 991
    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: 1000
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1000
    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: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    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: 1025
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    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:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1047
    functionName: mhd_str_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - str1
    - str2
    - maxlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1073
    functionName: mhd_str_equal_caseless_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    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:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - str1
    - str2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1094
    functionName: mhd_str_equal_caseless_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 7
    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:1110,1
    - Dst: isasciiupper
      Src: /src/mhd2/src/mhd2/mhd_str.c:1110,1
    - Dst: charsequallowercase
      Src: /src/mhd2/src/mhd2/mhd_str.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mixstr
    - lowstr
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1115
    functionName: mhd_str_equal_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - isasciiupper
    - 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:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - size
    - inbuff
    - outbuff
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1129
    functionName: mhd_str_to_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - str
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1144
    functionName: mhd_str_is_lowercase_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - isasciiupper
    linkageType: ''
    returnType: bool
    signature: "bool mhd_str_is_lowercase_bin_n (size_t len,\n                            const
      char *restrict str)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1173,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 3
    argNames:
    - str
    - token
    - token_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: mhd_str_has_token_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    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:1211,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1212,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1213,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1214,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1215,1
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:1250,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1290,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/mhd_str.c:1302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1335,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1345,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: 1348
      start: 1198
    functionDepth: 2
    functionLinenumber: 1198
    functionLinenumberEnd: 1348
    functionName: mhd_str_remove_token_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - memcpy
    - mhd_assert
    - memchr
    - charsequalcaseless
    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:1362,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:1362,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1399,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:1403,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1427,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1428,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:1430,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1433,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/mhd_str.c:1484,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1490,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1491,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1492,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1493,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: 1499
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1499
    functionName: mhd_str_remove_tokens_caseless
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memchr
    - mhd_str_equal_caseless_bin_n
    - memmove
    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:1514,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1535
    functionName: mhd_str_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1548,1
    - Dst: isasciidigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1566,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: 1570
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1570
    functionName: mhd_str_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    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:1584,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1603
    functionName: mhd_strx_to_uint32
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1620,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: 1639
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1639
    functionName: mhd_strx_to_uint32_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1653,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - out_val
    argTypes:
    - char*
    - uint_fast64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1672
    functionName: mhd_strx_to_uint64
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1689,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: 1707
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1707
    functionName: mhd_strx_to_uint64_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    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:1734,1
    - Dst: todigitvalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1734,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: 1758
      start: 1713
    functionDepth: 2
    functionLinenumber: 1713
    functionLinenumberEnd: 1758
    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:1786,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: 1795
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1795
    functionName: mhd_uint32_to_strx
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    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:1807,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1813,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1820,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1833,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: 1836
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1836
    functionName: mhd_uint16_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - UINT16_C
    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:1856,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1863,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1876,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: 1879
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1879
    functionName: mhd_uint64_to_str
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - val
    - min_digits
    - buf
    - buf_size
    argTypes:
    - uint8_t
    - uint8_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1925
    functionName: mhd_uint8_to_str_pad
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    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:1940,1
    - Dst: valuetoxdigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1944,1
    - Dst: valuetoxdigit
      Src: /src/mhd2/src/mhd2/mhd_str.c:1945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bin
    - size
    - hex
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1929
    functionDepth: 2
    functionLinenumber: 1929
    functionLinenumberEnd: 1949
    functionName: mhd_bin_to_hex
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - valuetoxdigit
    - uint8totwoxdigits
    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:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bin
    - size
    - hex
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1953
    functionDepth: 3
    functionLinenumber: 1953
    functionLinenumberEnd: 1964
    functionName: mhd_bin_to_hex_z
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:1982,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1991,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:1992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:1999,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - hex
    - len
    - bin
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 2002
    functionName: mhd_hex_to_bin
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:2016,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2040,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2041,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2072,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2073,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: 2090
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2090
    functionName: mhd_str_pct_decode_strict_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    functionsReached:
    - xdigittovalue
    - mhd_str_pct_decode_lenient_n
    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:2126,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2127,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2171,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2172,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: 2197
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2197
    functionName: mhd_str_pct_decode_lenient_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 7
    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:2208,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2236,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2255
    functionName: mhd_str_pct_decode_in_place_strict
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:2267,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:2268,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2307,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - str
    - broken_encoding
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2259
    functionDepth: 2
    functionLinenumber: 2259
    functionLinenumberEnd: 2333
    functionName: mhd_str_pct_decode_in_place_lenient
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - strlen
    - mhd_str_pct_decode_lenient_n
    - 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:2343,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2344,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2345,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2353,1
    - Dst: xdigittovalue
      Src: /src/mhd2/src/mhd2/mhd_str.c:2354,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2359,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2360,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: 2371
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2371
    functionName: pct_decode_no_slash
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_ASSUME
    - xdigittovalue
    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:2388,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2393,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2407,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2416,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2430,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2452,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2457,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2460,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2465,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2475,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:2486,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2500,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2510,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2527,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2557,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2563,1
    - Dst: pct_decode_no_slash
      Src: /src/mhd2/src/mhd2/mhd_str.c:2566,1
    - Dst: mhd_ASSUME
      Src: /src/mhd2/src/mhd2/mhd_str.c:2571,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2576,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 125
    argCount: 2
    argNames:
    - str_len
    - str
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2582
    functionName: mhd_str_dec_norm_uri_path
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_ASSUME
    - pct_decode_no_slash
    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: 2615
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2615
    functionName: mhd_str_equal_quoted_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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:2639,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: 2646
      start: 2618
    functionDepth: 2
    functionLinenumber: 2618
    functionLinenumberEnd: 2646
    functionName: mhd_str_equal_caseless_quoted_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 1
    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: 2676
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2676
    functionName: mhd_str_unquote
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    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: 2797
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2797
    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:2914,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2915,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2916,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2917,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2935,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2936,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2937,1
    - Dst: base64_char_to_value_
      Src: /src/mhd2/src/mhd2/mhd_str.c:2938,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2941,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: 2973
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2973
    functionName: mhd_base64_to_bin_n
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - base64_char_to_value_
    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: 2893
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2893
    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:2990,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2991,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:2991,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2992,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:2992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:2993,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:2993,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:2998,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - str
    - token
    argTypes:
    - struct MHD_String*
    - struct MHD_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 2984
    functionDepth: 3
    functionLinenumber: 2984
    functionLinenumberEnd: 3014
    functionName: mhd_str_starts_with_token_opt_param
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - memchr
    - 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:3032,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3033,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3033,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3034,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3034,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3035,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3036,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3036,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3037,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3037,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3038,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/mhd_str.c:3038,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/mhd_str.c:3046,1
    - Dst: charsequalcaseless
      Src: /src/mhd2/src/mhd2/mhd_str.c:3111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3115,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3137,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3138,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_str.c:3201,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: 3203
      start: 3019
    functionDepth: 3
    functionLinenumber: 3019
    functionLinenumberEnd: 3203
    functionName: mhd_str_starts_with_token_req_param
    functionSourceFile: /src/mhd2/src/mhd2/mhd_str.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - memchr
    - mhd_str_equal_caseless_bin_n
    - charsequalcaseless
    linkageType: ''
    returnType: enum mhd_StingStartsWithTokenResult
    signature: "enum mhd_StingStartsWithTokenResult 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:62,1
    - Dst: mbedtls_md5_init
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:69,1
    - Dst: mbedtls_md5_starts_ret
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:70,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: mhd_MD5_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
    functionUses: 1
    functionsReached:
    - mbedtls_md5_init
    - mhd_assert
    - malloc
    - mhd_MD5_deinit
    - mbedtls_md5_starts_ret
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_init_one_time (struct mhd_Md5CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:95,1
    - Dst: mbedtls_md5_update_ret
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: mhd_MD5_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
    functionUses: 1
    functionsReached:
    - mbedtls_md5_update_ret
    - mhd_assert
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_update (struct mhd_Md5CtxExt *ctx,\n                size_t
      size,\n                const uint8_t *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_finish_ret
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:116,1
    - Dst: mbedtls_md5_starts_ret
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: mhd_MD5_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
    functionUses: 1
    functionsReached:
    - mbedtls_md5_starts_ret
    - mbedtls_md5_finish_ret
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_finish_reset (struct mhd_Md5CtxExt *ctx,\n                      uint8_t
      digest[mhd_MD5_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_free
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:135,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/md5_ext_mbedtls.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: mhd_MD5_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
    functionUses: 1
    functionsReached:
    - mbedtls_md5_free
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_deinit (struct mhd_Md5CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:62,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:69,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: mhd_MD5_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_init
    - mhd_assert
    - mhd_MD5_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_init_one_time (struct mhd_Md5CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:91,1
    - Dst: gnutls_hash
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: mhd_MD5_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_gnutls.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_update (struct mhd_Md5CtxExt *ctx,\n                size_t
      size,\n                const uint8_t *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_output
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: mhd_MD5_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_output
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_finish_reset (struct mhd_Md5CtxExt *ctx,\n                      uint8_t
      digest[mhd_MD5_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/mhd2/src/mhd2/md5_ext_gnutls.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: mhd_MD5_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_deinit (struct mhd_Md5CtxExt *ctx)
  - 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:
    - fprintf
    - MHD_FD_STATE_IS_SET_EXCEPT
    - mhd_assert
    - MHD_FD_STATE_IS_SET_SEND
    - MHD_FD_STATE_IS_SET_RECV
    - mhd_LOG_MSG
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_itc_r_fd
    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:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mhd_SHA256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_init_one_time(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: mhd_SHA256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish_reset(ctx,digest)
  - 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: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: mhd_SHA256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish_deinit(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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: mhd_SHA256_finish_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_finish_deinit(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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: mhd_SHA256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_deinit(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: mhd_SHA256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: mhd_SHA256_has_err
    functionSourceFile: /src/mhd2/src/mhd2/mhd_sha256.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_SHA256_has_err(ctx)
  - 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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: mhd_tls_gnu_conn_get_tls_size
    functionSourceFile: /src/mhd2/src/mhd2/tls_gnu_funcs.h
    functionUses: 1
    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: 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: 2
    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:
    - mhd_assert
    - atomic_fetch_sub_explicit
    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: 2
    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: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    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: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    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: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: mhd_atomic_counter_init
    functionSourceFile: /src/mhd2/src/mhd2/mhd_atomic_counter.h
    functionUses: 2
    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: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    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: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    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: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    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: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    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: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    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:418,1
    - Dst: mhd_ATOMIC_COUNTER_TYPE::mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 421
    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: mhd_assert
      Src: /src/mhd2/src/mhd2/mhd_atomic_counter.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcnt
    argTypes:
    - struct mhd_AtomicCounter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 436
    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: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    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:
    - (
    - base_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    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: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    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: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    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: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: mhd_DLINKEDL_INS_FIRST_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 2
    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: 197
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 197
    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: 228
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 228
    functionName: mhd_DLINKEDL_DEL_D
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 2
    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: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    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: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    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: 5
    argNames:
    - (
    - p_own
    - ','
    - list_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: mhd_DLINKEDL_INIT_LIST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 5
    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: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    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: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: mhd_DLINKEDL_DEL
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 3
    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: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: mhd_DLINKEDL_GET_FIRST
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 14
    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: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    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: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: mhd_DLINKEDL_GET_PREV
    functionSourceFile: /src/mhd2/src/mhd2/mhd_dlinked_list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_DLINKEDL_GET_PREV(p_obj,links_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:62,1
    - Dst: mbedtls_sha256_init
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:70,1
    - Dst: mbedtls_sha256_starts_ret
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:71,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:75,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:79,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: mhd_SHA256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - malloc
    - mbedtls_sha256_starts_ret
    - mbedtls_sha256_init
    - mhd_SHA256_deinit
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_init_one_time (struct mhd_Sha256CtxExt *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:97,1
    - Dst: mbedtls_sha256_update_ret
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha256CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: mhd_SHA256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mbedtls_sha256_update_ret
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_update (struct mhd_Sha256CtxExt *ctx,\n                   size_t
      size,\n                   const uint8_t *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_finish_ret
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:118,1
    - Dst: mbedtls_sha256_starts_ret
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha256CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: mhd_SHA256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_finish_ret
    - mbedtls_sha256_starts_ret
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA256_finish_reset (struct mhd_Sha256CtxExt *ctx,\n                         uint8_t
      digest[mhd_SHA256_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_free
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:138,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: mhd_SHA256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
    functionUses: 3
    functionsReached:
    - mbedtls_sha256_free
    - free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA256_deinit (struct mhd_Sha256CtxExt *ctx)
  - 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_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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    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: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    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: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    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: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    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: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    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: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    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: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    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: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    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: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: mhd_tls_conn_has_data_in
    functionSourceFile: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_tls_conn_has_data_in(c_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c_tls
    - ','
    - buf_size
    - ','
    - buf
    - ','
    - sent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    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,sent)
  - 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: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    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: 261
    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: 261
    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: 261
    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: 261
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_assert(CHK)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:89,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:89,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:91,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:91,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:96,1
    - Dst: mhd_h2_conn_state_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:98,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:110,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:111,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:118,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:128,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:129,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:135,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:136,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:139,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:143,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:147,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:148,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:155,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:156,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:164,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:171,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:178,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:185,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:190,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:191,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:203,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:207,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:211,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 112
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 214
    functionName: mhd_conn_event_loop_state_update
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - mhd_C_HAS_TLS
    - mhd_C_IS_HTTP2
    - mhd_h2_conn_state_update
    - mhd_UNREACHABLE
    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:235,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:237,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 255
    functionName: process_http_comm_layer
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 0
    functionsReached:
    - mhd_h2_process_preface
    - mhd_UNREACHABLE
    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:265,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_states.c:269,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:273,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: finish_resume
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_assert
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ finish_resume (struct MHD_Connection *restrict
      c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:295,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/stream_process_states.c:296,1
    - Dst: mhd_conn_event_loop_state_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:300,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:302,1
    - Dst: mhd_stream_check_and_grow_read_buffer_space
      Src: /src/mhd2/src/mhd2/stream_process_states.c:307,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:309,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:317,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:320,1
    - Dst: mhd_conn_mark_ready_update
      Src: /src/mhd2/src/mhd2/stream_process_states.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 325
    functionName: update_active_state
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_conn_event_loop_state_update
    - mhd_conn_start_closing_skt_err
    - mhd_C_IS_HTTP2
    - mhd_conn_mark_ready_update
    - mhd_stream_check_and_grow_read_buffer_space
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ update_active_state (struct MHD_Connection
      *restrict c)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: process_http_comm_layer
      Src: /src/mhd2/src/mhd2/stream_process_states.c:334,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:341,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:344,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:349,1
    - Dst: mhd_h2_conn_process_data
      Src: /src/mhd2/src/mhd2/stream_process_states.c:351,1
    - Dst: update_active_state
      Src: /src/mhd2/src/mhd2/stream_process_states.c:353,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:358,1
    - Dst: mhd_D_IS_HTTP1_ENABLED
      Src: /src/mhd2/src/mhd2/stream_process_states.c:358,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/stream_process_states.c:358,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_process_states.c:368,1
    - Dst: finish_resume
      Src: /src/mhd2/src/mhd2/stream_process_states.c:378,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:383,1
    - Dst: mhd_SOCKET_ERR_IS_HARD
      Src: /src/mhd2/src/mhd2/stream_process_states.c:384,1
    - Dst: mhd_socket_error_get_from_socket
      Src: /src/mhd2/src/mhd2/stream_process_states.c:387,1
    - Dst: mhd_conn_start_closing_skt_err
      Src: /src/mhd2/src/mhd2/stream_process_states.c:388,1
    - Dst: mhd_conn_start_closing_d_shutdown
      Src: /src/mhd2/src/mhd2/stream_process_states.c:398,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:402,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:407,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:407,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:409,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/stream_process_states.c:409,1
    - Dst: mhd_stream_get_request_line
      Src: /src/mhd2/src/mhd2/stream_process_states.c:416,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:418,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:419,1
    - Dst: MHD_HTTP_VERSION_IS_SUPPORTED
      Src: /src/mhd2/src/mhd2/stream_process_states.c:419,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:423,1
    - Dst: mhd_stream_switch_to_rq_headers_proc
      Src: /src/mhd2/src/mhd2/stream_process_states.c:426,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:427,1
    - Dst: mhd_stream_get_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:430,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:432,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:433,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:437,1
    - Dst: mhd_stream_parse_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:440,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:441,1
    - Dst: mhd_stream_call_app_request_cb
      Src: /src/mhd2/src/mhd2/stream_process_states.c:444,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:446,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/stream_process_states.c:453,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:463,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:464,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:465,1
    - Dst: mhd_stream_process_request_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:469,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:471,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:472,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:475,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:476,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:477,1
    - Dst: mhd_stream_reset_rq_hdr_proc_state
      Src: /src/mhd2/src/mhd2/stream_process_states.c:481,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:485,1
    - Dst: mhd_stream_get_request_headers
      Src: /src/mhd2/src/mhd2/stream_process_states.c:486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:488,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:493,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:496,1
    - Dst: mhd_stream_call_app_final_upload_cb
      Src: /src/mhd2/src/mhd2/stream_process_states.c:500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:502,1
    - Dst: mhd_stream_process_req_recv_finished
      Src: /src/mhd2/src/mhd2/stream_process_states.c:507,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:512,1
    - Dst: mhd_stream_switch_from_recv_to_send
      Src: /src/mhd2/src/mhd2/stream_process_states.c:513,1
    - Dst: mhd_stream_build_header_response
      Src: /src/mhd2/src/mhd2/stream_process_states.c:514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:516,1
    - Dst: mhd_upgrade_try_start_upgrading
      Src: /src/mhd2/src/mhd2/stream_process_states.c:534,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:540,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:544,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:545,1
    - Dst: mhd_stream_prep_unchunked_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:551,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:555,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:556,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:560,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:561,1
    - Dst: mhd_stream_prep_chunked_body
      Src: /src/mhd2/src/mhd2/stream_process_states.c:569,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:574,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:575,1
    - Dst: mhd_stream_call_dcc_cleanup_if_needed
      Src: /src/mhd2/src/mhd2/stream_process_states.c:577,1
    - Dst: mhd_stream_prep_chunked_footer
      Src: /src/mhd2/src/mhd2/stream_process_states.c:578,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:582,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:583,1
    - Dst: mhd_stream_finish_req_serving
      Src: /src/mhd2/src/mhd2/stream_process_states.c:589,1
    - Dst: mhd_upgrade_finish_switch_to_upgraded
      Src: /src/mhd2/src/mhd2/stream_process_states.c:597,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:599,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:602,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:603,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:606,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:607,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:613,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:614,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:617,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:618,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/stream_process_states.c:628,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/stream_process_states.c:629,1
    - Dst: mhd_conn_mark_unready
      Src: /src/mhd2/src/mhd2/stream_process_states.c:638,1
    - Dst: mhd_conn_remove_from_timeout_lists
      Src: /src/mhd2/src/mhd2/stream_process_states.c:639,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/stream_process_states.c:641,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/stream_process_states.c:650,1
    - Dst: mhd_stream_is_timeout_expired
      Src: /src/mhd2/src/mhd2/stream_process_states.c:658,1
    - Dst: mhd_conn_start_closing_timedout
      Src: /src/mhd2/src/mhd2/stream_process_states.c:660,1
    - Dst: update_active_state
      Src: /src/mhd2/src/mhd2/stream_process_states.c:664,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 243
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 668
    functionName: mhd_conn_process_data
    functionSourceFile: /src/mhd2/src/mhd2/stream_process_states.c
    functionUses: 1
    functionsReached:
    - mhd_stream_prep_chunked_footer
    - mhd_conn_start_closing_d_shutdown
    - mhd_stream_call_app_final_upload_cb
    - mhd_stream_process_request_body
    - mhd_D_IS_HTTP1_ENABLED
    - process_http_comm_layer
    - mhd_conn_remove_from_timeout_lists
    - update_active_state
    - mhd_stream_get_request_line
    - mhd_assert
    - finish_resume
    - mhd_stream_process_req_recv_finished
    - mhd_h2_conn_process_data
    - mhd_stream_finish_req_serving
    - mhd_conn_mark_unready
    - mhd_SOCKET_ERR_IS_HARD
    - MHD_HTTP_VERSION_IS_SUPPORTED
    - mhd_stream_prep_unchunked_body
    - mhd_stream_prep_chunked_body
    - fprintf
    - mhd_stream_reset_rq_hdr_proc_state
    - mhd_stream_parse_request_headers
    - mhd_stream_is_timeout_expired
    - mhd_conn_start_closing_timedout
    - mhd_socket_error_get_from_socket
    - mhd_stream_switch_to_rq_headers_proc
    - mhd_SSTR_LEN
    - mhd_stream_call_dcc_cleanup_if_needed
    - mhd_upgrade_finish_switch_to_upgraded
    - mhd_conn_start_closing
    - mhd_C_HAS_TLS
    - mhd_conn_start_closing_skt_err
    - mhd_C_IS_HTTP2
    - mhd_upgrade_try_start_upgrading
    - mhd_stream_get_request_headers
    - mhd_stream_build_header_response
    - mhd_stream_switch_from_recv_to_send
    - mhd_stream_call_app_request_cb
    - mhd_UNREACHABLE
    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:
    - fprintf
    - mhd_CNTNR_PTR
    - mhd_daemon_trigger_itc
    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: 4
    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: 54
    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: 7
    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: 54
    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: 7
    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: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: mhd_LOG_PRINT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 7
    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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mhd_LOG_MSG
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 54
    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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    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: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mhd_LOG_FMT
    functionSourceFile: /src/mhd2/src/mhd2/daemon_logger.h
    functionUses: 7
    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:78,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/respond_with_error.c:79,1
    - Dst: mhd_daemon_free_lbuf
      Src: /src/mhd2/src/mhd2/respond_with_error.c:84,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/respond_with_error.c:92,1
    - Dst: mhd_pool_deallocate
      Src: /src/mhd2/src/mhd2/respond_with_error.c:100,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:115,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:117,1
    - Dst: mhd_response_dec_use_count
      Src: /src/mhd2/src/mhd2/respond_with_error.c:124,1
    - Dst: mhd_response_special_for_error
      Src: /src/mhd2/src/mhd2/respond_with_error.c:127,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/respond_with_error.c:135,1
    - Dst: mhd_STREAM_ABORT
      Src: /src/mhd2/src/mhd2/respond_with_error.c:136,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: 143
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 143
    functionName: respond_with_error_len
    functionSourceFile: /src/mhd2/src/mhd2/respond_with_error.c
    functionUses: 0
    functionsReached:
    - mhd_response_special_for_error
    - mhd_daemon_free_lbuf
    - mhd_pool_deallocate
    - mhd_assert
    - mhd_response_dec_use_count
    - mhd_STREAM_ABORT
    - free
    - mhd_LOG_FMT
    - mhd_DLINKEDL_INIT_LIST
    - mhd_LOG_PRINT
    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_assert
    - mhd_daemon_get_master_daemon
    - 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_assert
      Src: /src/mhd2/src/mhd2/conn_get_info.c:134,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_get_info.c:158,1
    - Dst: mhd_tls_conn_get_tls_ver
      Src: /src/mhd2/src/mhd2/conn_get_info.c:164,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_get_info.c:169,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/conn_get_info.c:174,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/conn_get_info.c:179,1
    - Dst: mhd_tls_conn_get_tls_sess
      Src: /src/mhd2/src/mhd2/conn_get_info.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    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: 190
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 190
    functionName: MHD_connection_get_info_dynamic_sz
    functionSourceFile: /src/mhd2/src/mhd2/conn_get_info.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_tls_conn_get_tls_sess
    - mhd_C_HAS_TLS
    - mhd_tls_conn_get_tls_ver
    - mhd_UNREACHABLE
    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:226,1
    - 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:235,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:242,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:244,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:245,1
    - Dst: mhd_ROTR64
      Src: /src/mhd2/src/mhd2/auth_digest.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data_size
    - data
    argTypes:
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 255
    functionName: simple_hash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - memcpy
    - mhd_ROTR64
    - 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:269,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:271,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:273,1
    - Dst: UINT16_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:274,1
    - Dst: UINT16_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nonce
    - arr_size
    argTypes:
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: nonce_to_index
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - simple_hash
    - UINT32_C
    - 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:308,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/auth_digest.c:308,1
    - Dst: mhd_assert
      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_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/auth_digest.c:312,1
    - Dst: mhd_rng
      Src: /src/mhd2/src/mhd2/auth_digest.c:315,1
    - Dst: mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/auth_digest.c:324,1
    - Dst: mhd_SHA512_256_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:327,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:328,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:331,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:335,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:338,1
    - Dst: mhd_SHA512_256_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:341,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:343,1
    - Dst: mhd_SHA256_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:346,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:347,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:350,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:354,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:357,1
    - Dst: mhd_SHA256_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:360,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:362,1
    - Dst: mhd_MD5_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:368,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:369,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:372,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:376,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:379,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:382,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:384,1
    - Dst: mhd_atomic_counter_get_inc_wrap
      Src: /src/mhd2/src/mhd2/auth_digest.c:388,1
    - Dst: mhd_MD5_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:390,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:391,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:394,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:398,1
    - Dst: mhd_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:401,1
    - Dst: mhd_MD5_finish_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:404,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:406,1
    - Dst: mhd_PUT_32BIT_LE_UNALIGN
      Src: /src/mhd2/src/mhd2/auth_digest.c:413,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:414,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: 417
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 417
    functionName: gen_new_nonce
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA256_init_one_time
    - mhd_SHA256_finish_deinit
    - mhd_monotonic_msec_counter
    - mhd_MD5_init_one_time
    - mhd_atomic_counter_get_inc_wrap
    - mhd_MD5_has_err
    - mhd_D_HAS_MASTER
    - mhd_MD5_finish_deinit
    - mhd_assert
    - mhd_SHA256_has_err
    - mhd_PUT_32BIT_LE_UNALIGN
    - UINT32_C
    - mhd_SHA512_256_has_err
    - mhd_SHA512_256_init_one_time
    - mhd_MD5_update
    - mhd_SHA256_update
    - mhd_SHA512_256_finish_deinit
    - mhd_rng
    - mhd_SHA512_256_update
    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:426,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:432,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:433,1
    - Dst: gen_new_nonce
      Src: /src/mhd2/src/mhd2/auth_digest.c:440,1
    - Dst: nonce_to_index
      Src: /src/mhd2/src/mhd2/auth_digest.c:448,1
    - Dst: mhd_mutex_lock
      Src: /src/mhd2/src/mhd2/auth_digest.c:450,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:453,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:458,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:471,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - c
    - out_buf
    argTypes:
    - struct MHD_Connection*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 485
    functionName: mhd_auth_digest_get_new_nonce
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - nonce_to_index
    - mhd_assert
    - gen_new_nonce
    - mhd_mutex_unlock_chk
    - mhd_daemon_get_master_daemon
    - mhd_mutex_lock
    - mhd_bin_to_hex
    - memcpy
    - 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:502,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:506,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:510,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:517,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:521,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:526,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:536,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:540,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:544,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:551,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:555,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:559,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - algo_param
    argTypes:
    - struct mhd_RqDAuthParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 566
    functionName: get_rq_dauth_algo
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_s_bin_n
    - mhd_str_equal_caseless_n_st
    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:581,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:585,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:592,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - qop_param
    argTypes:
    - struct mhd_RqDAuthParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 603
    functionName: get_rq_dauth_qop
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_caseless_quoted_s_bin_n
    - mhd_str_equal_caseless_n_st
    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:620,1
    - 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_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:671,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:671,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:672,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:675,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:681,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:682,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:687,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:692,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:736,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:762,1
    - Dst: mhd_ARR_NUM_ELEMS
      Src: /src/mhd2/src/mhd2/auth_digest.c:770,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:790,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:795,1
    - Dst: mhd_str_equal_caseless_quoted_s_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:809,1
    - Dst: mhd_str_equal_caseless_n_st
      Src: /src/mhd2/src/mhd2/auth_digest.c:814,1
    - Dst: get_rq_dauth_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:821,1
    - Dst: get_rq_dauth_qop
      Src: /src/mhd2/src/mhd2/auth_digest.c:822,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 110
    argCount: 2
    argNames:
    - val
    - pdauth
    argTypes:
    - struct MHD_String*
    - struct mhd_AuthDigesReqParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 825
    functionName: parse_dauth_params
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_ARR_NUM_ELEMS
    - mhd_assert
    - mhd_str_equal_caseless_quoted_s_bin_n
    - get_rq_dauth_qop
    - mhd_str_equal_caseless_bin_n
    - mhd_str_equal_caseless_n_st
    - mhd_MSTR_INIT
    - 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:846,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:847,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:848,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:849,1
    - Dst: mhd_request_get_auth_header_value
      Src: /src/mhd2/src/mhd2/auth_digest.c:854,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/auth_digest.c:861,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:861,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/auth_digest.c:869,1
    - Dst: parse_dauth_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 877
    functionName: get_rq_auth_digest_params
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_stream_alloc_memory
    - mhd_assert
    - parse_dauth_params
    - mhd_request_get_auth_header_value
    - mhd_CNTNR_CPTR
    - mhd_CNTNR_PTR
    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: 909
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 909
    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:925,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:925,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: 938
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 938
    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:955,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:958,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:963,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:964,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - param
    - buf
    argTypes:
    - struct mhd_RqDAuthParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 968
    functionName: get_rq_param_unquoted_copy_z
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    - mhd_str_unquote
    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:997,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/auth_digest.c:1000,1
    - Dst: mhd_SSTR_LEN
      Src: /src/mhd2/src/mhd2/auth_digest.c:1003,1
    - Dst: mhd_str_pct_decode_strict_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:1017,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1022,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: 1024
      start: 983
    functionDepth: 3
    functionLinenumber: 983
    functionLinenumberEnd: 1024
    functionName: get_rq_extended_uname_copy_z
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SSTR_LEN
    - mhd_str_pct_decode_strict_n
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    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:1046,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:1046,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1047,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1048,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1061,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1072,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:1076,1
    - Dst: get_rq_extended_uname_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1096,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1112,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1115,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: 1117
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1117
    functionName: get_rq_uname
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_hex_to_bin
    - get_rq_param_unquoted_copy_z
    - get_rq_extended_uname_copy_z
    - 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:1167,1
    - Dst: mhd_strx_to_uint64_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:1173,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:1188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - params
    - nc
    argTypes:
    - struct mhd_AuthDigesReqParams*
    - uint_fast32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1192
    functionName: get_rq_nc
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_strx_to_uint64_n
    - mhd_str_unquote
    - UINT64_C
    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:1207,1
    - Dst: get_rq_auth_digest_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:1209,1
    - Dst: get_rq_uname_type
      Src: /src/mhd2/src/mhd2/auth_digest.c:1215,1
    - Dst: get_rq_unames_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:1217,1
    - Dst: mhd_stream_alloc_memory
      Src: /src/mhd2/src/mhd2/auth_digest.c:1226,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1226,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1232,1
    - Dst: get_rq_uname
      Src: /src/mhd2/src/mhd2/auth_digest.c:1251,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1261,1
    - Dst: get_rq_param_unquoted_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:1269,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1274,1
    - Dst: get_rq_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:1283,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1302,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct MHD_Request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1195
    functionDepth: 5
    functionLinenumber: 1195
    functionLinenumberEnd: 1310
    functionName: find_and_parse_auth_digest_info
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memset
    - mhd_stream_alloc_memory
    - mhd_assert
    - get_rq_param_unquoted_copy_z
    - get_rq_uname
    - get_rq_auth_digest_params
    - get_rq_unames_size
    - get_rq_nc
    - mhd_CNTNR_PTR
    - 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:1319,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1320,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1321,1
    - Dst: mhd_CNTNR_CPTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:1322,1
    - Dst: find_and_parse_auth_digest_info
      Src: /src/mhd2/src/mhd2/auth_digest.c:1328,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1333,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: 1337
      start: 1314
    functionDepth: 6
    functionLinenumber: 1314
    functionLinenumberEnd: 1337
    functionName: mhd_request_get_auth_digest_info
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - mhd_CNTNR_CPTR
    - mhd_assert
    - find_and_parse_auth_digest_info
    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: 1356
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1356
    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:1371,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1374,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum MHD_DigestAuthAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1416
    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:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - enum MHD_DigestAuthAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1437
    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:1476,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1477,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1492
    functionName: digest_get_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_UNREACHABLE
    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: 1522
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    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:1537,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1540,1
    - Dst: mhd_SHA256_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1545,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:1550,1
    - Dst: digest_setup_zero
      Src: /src/mhd2/src/mhd2/auth_digest.c:1554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1555
    functionName: digest_deinit
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_SHA512_256_deinit
    - mhd_MD5_deinit
    - mhd_SHA256_deinit
    - digest_setup_zero
    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: 1560
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1560
    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: 1561
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1561
    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_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:1595,1
    - Dst: mhd_SHA256_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:1609,1
    - Dst: mhd_SHA512_256_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:1623,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - da
    - algo
    argTypes:
    - struct DigestAlgorithm*
    - enum MHD_DigestBaseAlgo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1638
    functionName: digest_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_init_one_time
    - mhd_SHA256_init_one_time
    - mhd_SHA512_256_init_one_time
    - mhd_UNREACHABLE
    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:1653,1
    - 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_MD5_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1660,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1664,1
    - Dst: mhd_SHA256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1669,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1673,1
    - Dst: mhd_SHA512_256_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:1678,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1682,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - da
    - size
    - data
    argTypes:
    - struct DigestAlgorithm*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1693
    functionName: digest_update
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_update
    - mhd_SHA256_update
    - mhd_assert
    - mhd_SHA512_256_update
    - mhd_UNREACHABLE
    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:1706,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - str
    argTypes:
    - struct DigestAlgorithm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1709
    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:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - buf
    argTypes:
    - struct DigestAlgorithm*
    - struct mhd_BufferConst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1725
    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:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - da
    - buf
    argTypes:
    - struct DigestAlgorithm*
    - struct mhd_Buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1734
    functionDepth: 2
    functionLinenumber: 1734
    functionLinenumberEnd: 1741
    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:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1755
    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:1769,1
    - 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_MD5_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1777,1
    - Dst: mhd_MD5_finish_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1782,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1788,1
    - Dst: mhd_SHA256_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1795,1
    - Dst: mhd_SHA256_finish_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1800,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1806,1
    - Dst: mhd_SHA512_256_finish
      Src: /src/mhd2/src/mhd2/auth_digest.c:1813,1
    - Dst: mhd_SHA512_256_finish_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1818,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1824,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - da
    - digest
    argTypes:
    - struct DigestAlgorithm*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1765
    functionDepth: 3
    functionLinenumber: 1765
    functionLinenumberEnd: 1836
    functionName: digest_calc_hash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_SHA512_256_finish
    - mhd_SHA256_finish_reset
    - mhd_SHA512_256_finish_reset
    - mhd_assert
    - mhd_MD5_finish_reset
    - mhd_MD5_finish
    - mhd_SHA256_finish
    - mhd_UNREACHABLE
    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:1847,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1848,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1849,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1855,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1857,1
    - Dst: mhd_MD5_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_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1873,1
    - Dst: mhd_SHA256_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1875,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1880,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1887,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1889,1
    - Dst: mhd_SHA512_256_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:1891,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1896,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1908
    functionName: digest_reset
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_reset
    - mhd_assert
    - mhd_SHA256_reset
    - mhd_SHA512_256_reset
    - mhd_UNREACHABLE
    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:1935,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:1936,1
    - Dst: mhd_MD5_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1941,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1943,1
    - Dst: mhd_SHA256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1949,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1951,1
    - Dst: mhd_SHA512_256_has_err
      Src: /src/mhd2/src/mhd2/auth_digest.c:1957,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1959,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:1967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - da
    argTypes:
    - struct DigestAlgorithm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1969
    functionName: digest_has_error
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_MD5_has_err
    - mhd_assert
    - mhd_SHA512_256_has_err
    - mhd_SHA256_has_err
    - mhd_UNREACHABLE
    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: 1974
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1974
    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:2002,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2003,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2004,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2005,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:2006,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2007,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:2008,1
    - Dst: digest_update_str
      Src: /src/mhd2/src/mhd2/auth_digest.c:2009,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2010,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: 2011
      start: 1995
    functionDepth: 4
    functionLinenumber: 1995
    functionLinenumberEnd: 2011
    functionName: calc_userdigest
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - digest_calc_hash
    - digest_update
    - mhd_assert
    - digest_update_str
    - 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:2026,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:2026,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2029,1
    - Dst: calc_userdigest
      Src: /src/mhd2/src/mhd2/auth_digest.c:2033,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2035,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2037,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2040,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:2042,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: 2045
      start: 2016
    functionDepth: 5
    functionLinenumber: 2016
    functionLinenumberEnd: 2045
    functionName: MHD_digest_auth_calc_userdigest
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 3
    functionsReached:
    - digest_has_error
    - digest_get_size
    - digest_deinit
    - strlen
    - get_base_digest_algo
    - 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:2070,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2071,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2072,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2073,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:2074,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:2075,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2076,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: 2077
      start: 2062
    functionDepth: 4
    functionLinenumber: 2062
    functionLinenumberEnd: 2077
    functionName: calc_userhash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - digest_calc_hash
    - digest_update_with_colon
    - digest_update
    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:2092,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:2092,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2094,1
    - Dst: calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2098,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2099,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2101,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2105,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:2107,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: 2110
      start: 2082
    functionDepth: 5
    functionLinenumber: 2082
    functionLinenumberEnd: 2110
    functionName: MHD_digest_auth_calc_userhash
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 1
    functionsReached:
    - digest_has_error
    - calc_userhash
    - digest_get_size
    - digest_deinit
    - strlen
    - get_base_digest_algo
    - 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:2121,1
    - Dst: digest_get_hash_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2127,1
    - Dst: MHD_digest_auth_calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2130,1
    - Dst: mhd_bin_to_hex_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:2138,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: 2142
      start: 2115
    functionDepth: 6
    functionLinenumber: 2115
    functionLinenumberEnd: 2142
    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:2155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2156
    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:2212,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/auth_digest.c:2212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2213,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2214,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:2219,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2224,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2225,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2226,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2227,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2228,1
    - Dst: memchr
      Src: /src/mhd2/src/mhd2/auth_digest.c:2229,1
    - Dst: get_nonce_timestamp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2232,1
    - Dst: nonce_to_index
      Src: /src/mhd2/src/mhd2/auth_digest.c:2235,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:2238,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2241,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2257,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2260,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2275,1
    - Dst: UINT64_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2280,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2293,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2294,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2303,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2304,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:2305,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/auth_digest.c:2313,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    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: 2316
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2316
    functionName: check_nonce_nc
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_D_HAS_MASTER
    - nonce_to_index
    - mhd_mutex_lock_chk
    - mhd_assert
    - mhd_hex_to_bin
    - UINT64_C
    - mhd_mutex_unlock_chk
    - get_nonce_timestamp
    - UINT32_C
    - memchr
    - memcmp
    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:2347,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/auth_digest.c:2349,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2361,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2362,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2363,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2370,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2371,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2372,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: 2381
      start: 2335
    functionDepth: 1
    functionLinenumber: 2335
    functionLinenumberEnd: 2381
    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_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_NEXT
    - memcmp
    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:2407,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/auth_digest.c:2414,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/auth_digest.c:2416,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: 2427
      start: 2397
    functionDepth: 2
    functionLinenumber: 2397
    functionLinenumberEnd: 2427
    functionName: check_argument_match
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_DLINKEDL_GET_FIRST
    - mhd_parse_uri_args
    - mhd_DLINKEDL_GET_NEXT
    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:2457,1
    - Dst: mhd_str_pct_decode_lenient_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2469,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2475,1
    - Dst: check_argument_match
      Src: /src/mhd2/src/mhd2/auth_digest.c:2483,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: 2489
      start: 2443
    functionDepth: 3
    functionLinenumber: 2443
    functionLinenumberEnd: 2489
    functionName: check_uri_match
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - memchr
    - mhd_str_pct_decode_lenient_n
    - check_argument_match
    - memcmp
    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:2514,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2515,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2516,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/auth_digest.c:2528,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/auth_digest.c:2529,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: 2535
      start: 2508
    functionDepth: 1
    functionLinenumber: 2508
    functionLinenumberEnd: 2535
    functionName: get_buffer_for_size
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - malloc
    - free
    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:2568,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2569,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2578,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:2586,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2591,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2592,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: 2594
      start: 2559
    functionDepth: 2
    functionLinenumber: 2559
    functionLinenumberEnd: 2594
    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:2616,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2617,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2622,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/auth_digest.c:2633,1
    - Dst: mhd_str_unquote
      Src: /src/mhd2/src/mhd2/auth_digest.c:2641,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2644,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2645,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: 2647
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2647
    functionName: get_unquoted_param_copy
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - memcpy
    - get_buffer_for_size
    - mhd_str_unquote
    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:2664,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2665,1
    - Dst: mhd_str_equal_quoted_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2667,1
    - Dst: memcmp
      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: 1
    functionLinenumber: 2658
    functionLinenumberEnd: 2673
    functionName: is_param_equal
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_str_equal_quoted_bin_n
    - mhd_assert
    - memcmp
    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:2690,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2691,1
    - Dst: mhd_str_equal_caseless_quoted_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2693,1
    - Dst: mhd_str_equal_caseless_bin_n
      Src: /src/mhd2/src/mhd2/auth_digest.c:2698,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: 2699
      start: 2684
    functionDepth: 3
    functionLinenumber: 2684
    functionLinenumberEnd: 2699
    functionName: is_param_equal_caseless
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    - mhd_str_equal_caseless_quoted_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:2753,1
    - Dst: mhd_CNTNR_PTR
      Src: /src/mhd2/src/mhd2/auth_digest.c:2754,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2774,1
    - Dst: get_rq_auth_digest_params
      Src: /src/mhd2/src/mhd2/auth_digest.c:2782,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2792,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2796,1
    - Dst: digest_init_one_time
      Src: /src/mhd2/src/mhd2/auth_digest.c:2820,1
    - Dst: get_base_digest_algo
      Src: /src/mhd2/src/mhd2/auth_digest.c:2820,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2821,1
    - Dst: digest_get_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2831,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2908,1
    - Dst: is_param_equal
      Src: /src/mhd2/src/mhd2/auth_digest.c:2909,1
    - Dst: strlen
      Src: /src/mhd2/src/mhd2/auth_digest.c:2916,1
    - Dst: is_param_equal
      Src: /src/mhd2/src/mhd2/auth_digest.c:2921,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2930,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2931,1
    - Dst: get_buffer_for_size
      Src: /src/mhd2/src/mhd2/auth_digest.c:2934,1
    - Dst: get_rq_extended_uname_copy_z
      Src: /src/mhd2/src/mhd2/auth_digest.c:2938,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:2944,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2950,1
    - Dst: calc_userhash
      Src: /src/mhd2/src/mhd2/auth_digest.c:2951,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:2957,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:2959,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:2960,1
    - Dst: is_param_equal_caseless
      Src: /src/mhd2/src/mhd2/auth_digest.c:2961,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:2965,1
    - Dst: get_rq_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:2973,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:2993,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3005,1
    - Dst: check_nonce_nc
      Src: /src/mhd2/src/mhd2/auth_digest.c:3013,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/auth_digest.c:3018,1
    - Dst: UINT32_C
      Src: /src/mhd2/src/mhd2/auth_digest.c:3019,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/auth_digest.c:3028,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3037,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3038,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3039,1
    - Dst: digest_update_str
      Src: /src/mhd2/src/mhd2/auth_digest.c:3042,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3043,1
    - Dst: get_unquoted_param_copy
      Src: /src/mhd2/src/mhd2/auth_digest.c:3045,1
    - Dst: digest_update_buf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3052,1
    - Dst: check_uri_match
      Src: /src/mhd2/src/mhd2/auth_digest.c:3054,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:3056,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3065,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:3066,1
    - Dst: calc_userdigest
      Src: /src/mhd2/src/mhd2/auth_digest.c:3067,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:3075,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3082,1
    - Dst: digest_reset
      Src: /src/mhd2/src/mhd2/auth_digest.c:3083,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/auth_digest.c:3085,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3087,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3089,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3090,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3094,1
    - Dst: mhd_hex_to_bin
      Src: /src/mhd2/src/mhd2/auth_digest.c:3100,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3104,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3106,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3112,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3114,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3118,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3124,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3126,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3128,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3134,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3136,1
    - Dst: get_unquoted_param
      Src: /src/mhd2/src/mhd2/auth_digest.c:3138,1
    - Dst: digest_update_cbuf
      Src: /src/mhd2/src/mhd2/auth_digest.c:3144,1
    - Dst: digest_update_with_colon
      Src: /src/mhd2/src/mhd2/auth_digest.c:3146,1
    - Dst: mhd_bin_to_hex
      Src: /src/mhd2/src/mhd2/auth_digest.c:3149,1
    - Dst: digest_update
      Src: /src/mhd2/src/mhd2/auth_digest.c:3150,1
    - Dst: digest_calc_hash
      Src: /src/mhd2/src/mhd2/auth_digest.c:3154,1
    - Dst: digest_has_error
      Src: /src/mhd2/src/mhd2/auth_digest.c:3156,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/auth_digest.c:3160,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: 3164
      start: 2740
    functionDepth: 5
    functionLinenumber: 2740
    functionLinenumberEnd: 3164
    functionName: digest_auth_check_all_inner
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - is_param_equal
    - mhd_hex_to_bin
    - digest_update_buf
    - get_base_digest_algo
    - get_buffer_for_size
    - mhd_monotonic_msec_counter
    - digest_init_one_time
    - check_nonce_nc
    - memcmp
    - mhd_bin_to_hex
    - digest_update_cbuf
    - digest_get_size
    - digest_update
    - mhd_assert
    - get_rq_extended_uname_copy_z
    - digest_has_error
    - get_unquoted_param
    - get_unquoted_param_copy
    - digest_update_str
    - get_rq_auth_digest_params
    - mhd_daemon_get_master_daemon
    - is_param_equal_caseless
    - UINT32_C
    - get_rq_nc
    - mhd_CNTNR_PTR
    - calc_userdigest
    - digest_calc_hash
    - calc_userhash
    - digest_reset
    - strlen
    - check_uri_match
    - digest_update_with_colon
    - mhd_UNREACHABLE
    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:3213,1
    - Dst: digest_auth_check_all_inner
      Src: /src/mhd2/src/mhd2/auth_digest.c:3214,1
    - Dst: digest_deinit
      Src: /src/mhd2/src/mhd2/auth_digest.c:3224,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/auth_digest.c:3226,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: 3229
      start: 3198
    functionDepth: 6
    functionLinenumber: 3198
    functionLinenumberEnd: 3229
    functionName: digest_auth_check_all
    functionSourceFile: /src/mhd2/src/mhd2/auth_digest.c
    functionUses: 0
    functionsReached:
    - digest_auth_check_all_inner
    - digest_deinit
    - free
    - digest_setup_zero
    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:3270,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: 3278
      start: 3261
    functionDepth: 7
    functionLinenumber: 3261
    functionLinenumberEnd: 3278
    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:3315,1
    - Dst: digest_auth_check_all
      Src: /src/mhd2/src/mhd2/auth_digest.c:3319,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: 3327
      start: 3284
    functionDepth: 7
    functionLinenumber: 3284
    functionLinenumberEnd: 3327
    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: 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_setname_np
    - pthread_set_name_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_set_invalid
    - mhd_thread_handle_ID_get_native_handle_ptr
    - pthread_attr_setstacksize
    - mhd_thread_handle_ID_set_native_handle
    - pthread_attr_destroy
    - pthread_create
    - mhd_assert
    - _beginthreadex
    - mhd_thread_handle_ID_is_valid_handle
    - pthread_attr_init
    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:
    - thr_func
    - free
    - 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_thread_handle_ID_set_invalid
    - mhd_thread_handle_ID_get_native_handle_ptr
    - pthread_attr_setstacksize
    - mhd_create_thread
    - pthread_attr_destroy
    - pthread_create
    - malloc
    - free
    - pthread_attr_setname_np
    - pthread_attr_init
    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:
    - sigemptyset
    - pthread_sigmask
    - sigaddset
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_thread_block_sigpipe (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:62,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:69,1
    - Dst: EVP_sha512_256
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:70,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:74,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:78,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: mhd_SHA512_256_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_sha512_256
    - mhd_assert
    - mhd_SHA512_256_deinit
    - EVP_DigestInit_ex
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_init_one_time (struct mhd_Sha512_256CtxExt *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:96,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: mhd_SHA512_256_update
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_update (struct mhd_Sha512_256CtxExt *ctx,\n                       size_t
      size,\n                       const uint8_t *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:129,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:131,1
    - Dst: EVP_sha512_256
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:132,1
    - Dst: mhd_SHA512_256_deinit
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 140
    functionName: mhd_SHA512_256_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_sha512_256
    - mhd_assert
    - mhd_SHA512_256_deinit
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: void
    signature: "void mhd_SHA512_256_finish_reset (struct mhd_Sha512_256CtxExt *ctx,\n
      \                            uint8_t digest[mhd_SHA512_256_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Sha512_256CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: mhd_SHA512_256_deinit
    functionSourceFile: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_SHA512_256_deinit (struct mhd_Sha512_256CtxExt *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: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    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: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    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: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    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: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    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: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    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: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: mhd_conn_start_closing_skt_err
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 3
    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: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    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: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mhd_conn_start_closing_timedout
    functionSourceFile: /src/mhd2/src/mhd2/stream_funcs.h
    functionUses: 1
    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: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    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: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    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: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    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: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: mhd_C_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 15
    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: 845
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 845
    functionName: mhd_C_HAS_TLS
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 15
    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: 855
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 855
    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: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    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: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: mhd_C_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 7
    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: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: mhd_C_IS_HTTP2
    functionSourceFile: /src/mhd2/src/mhd2/mhd_connection.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mhd_C_IS_HTTP2(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:62,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:68,1
    - Dst: EVP_md5
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:69,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:73,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:77,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: mhd_MD5_init_one_time
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_openssl.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - EVP_DigestInit_ex
    - mhd_MD5_deinit
    - EVP_md5
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_init_one_time (struct mhd_Md5CtxExt *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:95,1
    - Dst: EVP_DigestUpdate
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - data
    argTypes:
    - struct mhd_Md5CtxExt*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: mhd_MD5_update
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_openssl.c
    functionUses: 3
    functionsReached:
    - mhd_assert
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_update (struct mhd_Md5CtxExt *ctx,\n                size_t
      size,\n                const uint8_t *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:128,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:130,1
    - Dst: EVP_md5
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:131,1
    - Dst: mhd_MD5_deinit
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct mhd_Md5CtxExt*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: mhd_MD5_finish_reset
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_openssl.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - mhd_MD5_deinit
    - EVP_md5
    linkageType: ''
    returnType: void
    signature: "void mhd_MD5_finish_reset (struct mhd_Md5CtxExt *ctx,\n                      uint8_t
      digest[mhd_MD5_DIGEST_SIZE])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/mhd2/src/mhd2/md5_ext_openssl.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mhd_Md5CtxExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: mhd_MD5_deinit
    functionSourceFile: /src/mhd2/src/mhd2/md5_ext_openssl.c
    functionUses: 5
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void mhd_MD5_deinit (struct mhd_Md5CtxExt *ctx)
  - 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: 6
    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: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:116,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: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    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:144,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: 149
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 149
    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: 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: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    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:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    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_assert
      Src: /src/mhd2/src/mhd2/events_process.c:190,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:190,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:195,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:204,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:210,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:213,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: mhd_daemon_get_wait_max
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 1
    functionsReached:
    - fprintf
    - mhd_assert
    - mhd_DLINKEDL_GET_FIRST
    - mhd_D_HAS_WORKERS
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_daemon_get_wait_max (struct MHD_Daemon *restrict d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:232,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:234,1
    - Dst: mhd_stream_resumed_activity_mark
      Src: /src/mhd2/src/mhd2/events_process.c:239,1
    - Dst: mhd_conn_mark_ready
      Src: /src/mhd2/src/mhd2/events_process.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - struct MHD_Connection*
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: start_resuming_connection
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mhd_assert
    - mhd_stream_resumed_activity_mark
    - mhd_conn_mark_ready
    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:258,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:260,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: daemon_resume_conns_if_needed
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - start_resuming_connection
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_NEXT
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_ALL_
    signature: MHD_FN_PAR_NONNULL_ALL_ daemon_resume_conns_if_needed (struct MHD_Daemon
      *restrict d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: get_max_wait
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_wait_max
    linkageType: ''
    returnType: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE
    signature: mhd_DATA_TRUNCATION_RUNTIME_CHECK_DISABLE get_max_wait (struct MHD_Daemon
      *restrict d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:297,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:299,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:301,1
    - Dst: mhd_conn_mark_ready_update3
      Src: /src/mhd2/src/mhd2/events_process.c:320,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:322,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: 323
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 323
    functionName: update_conn_net_status
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dbg_print_fd_state_update
    - mhd_conn_mark_ready_update3
    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:336,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:337,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:338,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:339,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:340,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:340,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:347,1
    - Dst: mhd_daemon_accept_connection
      Src: /src/mhd2/src/mhd2/events_process.c:444,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 452
    functionName: daemon_accept_new_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_D_HAS_MASTER
    - mhd_D_HAS_WORKERS
    - 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:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 475
    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:482,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:482,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:484,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:490,1
    - Dst: mhd_conn_process_recv_send_data
      Src: /src/mhd2/src/mhd2/events_process.c:491,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:493,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:494,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:495,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 505
    functionName: daemon_process_all_active_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_conn_pre_clean
    - mhd_D_HAS_WORKERS
    - mhd_conn_process_recv_send_data
    - mhd_DLINKEDL_GET_NEXT
    - 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:517,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:517,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:519,1
    - Dst: mhd_mutex_lock_chk
      Src: /src/mhd2/src/mhd2/events_process.c:526,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:527,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/events_process.c:529,1
    - Dst: mhd_mutex_unlock_chk
      Src: /src/mhd2/src/mhd2/events_process.c:530,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:535,1
    - Dst: mhd_upgraded_deinit
      Src: /src/mhd2/src/mhd2/events_process.c:536,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:537,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:538,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 513
    functionDepth: 6
    functionLinenumber: 513
    functionLinenumberEnd: 541
    functionName: daemon_cleanup_upgraded_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_mutex_lock_chk
    - mhd_DLINKEDL_DEL
    - mhd_assert
    - mhd_conn_remove_from_daemon
    - mhd_mutex_unlock_chk
    - mhd_conn_pre_clean
    - mhd_conn_close_final
    - mhd_upgraded_deinit
    - mhd_D_HAS_WORKERS
    - 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: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    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:555,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/events_process.c:557,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/events_process.c:559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:562,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:563,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:566,1
    - Dst: mhd_upgraded_deinit
      Src: /src/mhd2/src/mhd2/events_process.c:568,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/events_process.c:575,1
    - Dst: mhd_h2_conn_deinit
      Src: /src/mhd2/src/mhd2/events_process.c:576,1
    - Dst: mhd_conn_start_closing_d_shutdown
      Src: /src/mhd2/src/mhd2/events_process.c:578,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:580,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:581,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:582,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:586,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 548
    functionDepth: 6
    functionLinenumber: 548
    functionLinenumberEnd: 593
    functionName: mhd_daemon_close_all_conns
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - mhd_conn_pre_clean
    - mhd_upgraded_deinit
    - mhd_h2_conn_deinit
    - mhd_C_IS_HTTP2
    - mhd_conn_start_closing_d_shutdown
    - mhd_LOG_MSG
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_GET_LAST
    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:609,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:609,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:610,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:622,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:626,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:628,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:633,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:636,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:638,1
    - Dst: mhd_conn_mark_ready_update3
      Src: /src/mhd2/src/mhd2/events_process.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 652
    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_itc_clear
    - mhd_assert
    - mhd_conn_mark_ready_update3
    - is_conn_excluded_from_http_comm
    - mhd_DLINKEDL_GET_NEXT
    - mhd_WM_INT_HAS_EXT_EVENTS
    - start_resuming_connection
    - 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:669,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:669,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:670,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:680,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:681,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:699,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/events_process.c:706,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:713,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:726,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:732,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:740,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:742,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:744,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:750,1
    - Dst: mhd_log_extr_event_dereg_failed
      Src: /src/mhd2/src/mhd2/events_process.c:756,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:769,1
    - Dst: mhd_daemon_extr_event_reg
      Src: /src/mhd2/src/mhd2/events_process.c:779,1
    - Dst: mhd_conn_start_closing_ext_event_failed
      Src: /src/mhd2/src/mhd2/events_process.c:786,1
    - Dst: mhd_conn_pre_clean
      Src: /src/mhd2/src/mhd2/events_process.c:787,1
    - Dst: mhd_conn_remove_from_daemon
      Src: /src/mhd2/src/mhd2/events_process.c:788,1
    - Dst: mhd_conn_close_final
      Src: /src/mhd2/src/mhd2/events_process.c:789,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 796
    functionName: ext_events_update_registrations
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_conn_close_final
    - mhd_conn_remove_from_daemon
    - is_conn_excluded_from_http_comm
    - mhd_conn_pre_clean
    - mhd_log_extr_event_dereg_failed
    - mhd_LOG_MSG
    - mhd_DLINKEDL_GET_NEXT
    - mhd_conn_start_closing_ext_event_failed
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_itc_r_fd
    - mhd_daemon_extr_event_reg
    - mhd_DLINKEDL_GET_FIRST
    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:817,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/events_process.c:817,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:819,1
    - Dst: FD_SET
      Src: /src/mhd2/src/mhd2/events_process.c:822,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:829,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:830,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:830,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: 836
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 836
    functionName: fd_set_wrap
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - mhd_assert
    - mhd_FD_FITS_DAEMON
    - FD_ISSET
    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:860,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:861,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:862,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:863,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:864,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:865,1
    - Dst: FD_ZERO
      Src: /src/mhd2/src/mhd2/events_process.c:866,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:870,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:870,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:871,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:871,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:875,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:875,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:879,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:880,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:888,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:890,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:894,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:898,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:907,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:908,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:910,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:911,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:915,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:920,1
    - Dst: fd_set_wrap
      Src: /src/mhd2/src/mhd2/events_process.c:924,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:928,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:930,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:931,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 936
    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:
    - mhd_assert
    - mhd_dbg_print_fd_mon_req
    - is_conn_excluded_from_http_comm
    - FD_ZERO
    - mhd_DLINKEDL_GET_NEXT
    - fd_set_wrap
    - mhd_ITC_IS_VALID
    - mhd_itc_r_fd
    - mhd_DLINKEDL_GET_FIRST
    - FD_ISSET
    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:949,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:950,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:951,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:956,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:956,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:957,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/events_process.c:957,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:968,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:968,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:969,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:970,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:971,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:971,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:972,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:972,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:973,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:973,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:974,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:974,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:976,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:981,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:981,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:988,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:999,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1000,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1002,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1003,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1004,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1005,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1008,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1010,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1011,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1020,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1026,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:1027,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:1034,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:1036,1
    - Dst: start_resuming_connection
      Src: /src/mhd2/src/mhd2/events_process.c:1039,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1047,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1051,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1052,1
    - Dst: FD_ISSET
      Src: /src/mhd2/src/mhd2/events_process.c:1053,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1055,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 939
    functionDepth: 4
    functionLinenumber: 939
    functionLinenumberEnd: 1072
    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_socket_close
    - mhd_D_TYPE_IS_LISTEN_ONLY
    - mhd_D_HAS_MASTER
    - mhd_itc_clear
    - mhd_assert
    - start_resuming_connection
    - is_conn_excluded_from_http_comm
    - log_itc_broken
    - mhd_itc_r_fd
    - update_conn_net_status
    - log_listen_broken
    - mhd_DLINKEDL_GET_NEXT
    - mhd_ITC_IS_VALID
    - dbg_print_fd_state_update
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_GET_FIRST
    - FD_ISSET
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1092,1
    - Dst: select_update_fdsets
      Src: /src/mhd2/src/mhd2/events_process.c:1094,1
    - Dst: get_max_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1097,1
    - Dst: Sleep
      Src: /src/mhd2/src/mhd2/events_process.c:1102,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1115,1
    - Dst: select
      Src: /src/mhd2/src/mhd2/events_process.c:1121,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1127,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/mhd2/events_process.c:1152,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1161,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1165,1
    - Dst: select_update_statuses_from_fdsets_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:1171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1172
    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:
    - fprintf
    - select_update_statuses_from_fdsets_and_resume_conn
    - Sleep
    - get_max_wait
    - WSAGetLastError
    - select
    - mhd_assert
    - mhd_LOG_MSG
    - select_update_fdsets
    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:1191,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1195,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1195,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1196,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1197,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1201,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1205,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1206,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1214,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1219,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1223,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/events_process.c:1234,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/events_process.c:1235,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1239,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1247,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1249,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/events_process.c:1260,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1267,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1270
    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_assert
    - mhd_dbg_print_fd_mon_req
    - is_conn_excluded_from_http_comm
    - mhd_DLINKEDL_GET_NEXT
    - mhd_ITC_IS_VALID
    - mhd_itc_r_fd
    - 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:1279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1280,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1281,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1288,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1288,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1289,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1290,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1291,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1294,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1296,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1305,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:1317,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1329,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1331,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1334,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1337,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1345,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1347,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1348,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1374,1
    - Dst: mhd_D_TYPE_IS_LISTEN_ONLY
      Src: /src/mhd2/src/mhd2/events_process.c:1375,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1384,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1385,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1387,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1389,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1393,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1393,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1394,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1422,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1424,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1425,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1273
    functionDepth: 4
    functionLinenumber: 1273
    functionLinenumberEnd: 1427
    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
    - mhd_D_HAS_MASTER
    - mhd_D_TYPE_IS_LISTEN_ONLY
    - mhd_itc_clear
    - mhd_assert
    - dbg_print_fd_state_update
    - is_conn_excluded_from_http_comm
    - log_itc_broken
    - update_conn_net_status
    - log_listen_broken
    - mhd_ITC_IS_VALID
    - mhd_itc_r_fd
    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:1445,1
    - Dst: poll_update_fds
      Src: /src/mhd2/src/mhd2/events_process.c:1447,1
    - Dst: get_max_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1450,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1453,1
    - Dst: mhd_poll
      Src: /src/mhd2/src/mhd2/events_process.c:1459,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1463,1
    - Dst: WSAGetLastError
      Src: /src/mhd2/src/mhd2/events_process.c:1486,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1494,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1498,1
    - Dst: poll_update_statuses_from_fds
      Src: /src/mhd2/src/mhd2/events_process.c:1504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - d
    - listen_only
    argTypes:
    - struct MHD_Daemon*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1505
    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:
    - fprintf
    - get_max_wait
    - poll_update_fds
    - WSAGetLastError
    - mhd_assert
    - mhd_LOG_MSG
    - mhd_poll
    - poll_update_statuses_from_fds
    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:1529,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1529,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1530,1
    - Dst: mhd_itc_r_fd
      Src: /src/mhd2/src/mhd2/events_process.c:1532,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1539,1
    - Dst: mhd_itc_clear
      Src: /src/mhd2/src/mhd2/events_process.c:1550,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1557,1
    - Dst: dbg_print_fd_state_update
      Src: /src/mhd2/src/mhd2/events_process.c:1558,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1566,1
    - Dst: mhd_D_HAS_MASTER
      Src: /src/mhd2/src/mhd2/events_process.c:1569,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/events_process.c:1570,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/events_process.c:1575,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1595,1
    - Dst: is_conn_excluded_from_http_comm
      Src: /src/mhd2/src/mhd2/events_process.c:1595,1
    - Dst: update_conn_net_status
      Src: /src/mhd2/src/mhd2/events_process.c:1600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - d
    - num_events
    argTypes:
    - struct MHD_Daemon*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1516
    functionDepth: 4
    functionLinenumber: 1516
    functionLinenumberEnd: 1604
    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
    - mhd_D_HAS_MASTER
    - mhd_itc_clear
    - epoll_ctl
    - mhd_assert
    - is_conn_excluded_from_http_comm
    - log_itc_broken
    - mhd_itc_r_fd
    - update_conn_net_status
    - log_listen_broken
    - mhd_ITC_IS_VALID
    - 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:1618,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1619,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1620,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1622,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1623,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1624,1
    - Dst: get_max_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1643,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1647,1
    - Dst: epoll_wait
      Src: /src/mhd2/src/mhd2/events_process.c:1653,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1658,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1671,1
    - Dst: update_statuses_from_eevents
      Src: /src/mhd2/src/mhd2/events_process.c:1677,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1684,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1611
    functionDepth: 3
    functionLinenumber: 1611
    functionLinenumberEnd: 1693
    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
    - get_max_wait
    - epoll_wait
    - mhd_assert
    - update_statuses_from_eevents
    - mhd_LOG_MSG
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1722,1
    - Dst: mhd_WM_INT_HAS_EXT_EVENTS
      Src: /src/mhd2/src/mhd2/events_process.c:1722,1
    - Dst: ext_events_process_net_updates_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:1723,1
    - Dst: get_all_net_updates_by_select_and_resume_conn
      Src: /src/mhd2/src/mhd2/events_process.c:1728,1
    - Dst: get_all_net_updates_by_poll
      Src: /src/mhd2/src/mhd2/events_process.c:1734,1
    - Dst: daemon_resume_conns_if_needed
      Src: /src/mhd2/src/mhd2/events_process.c:1736,1
    - Dst: get_all_net_updates_by_epoll
      Src: /src/mhd2/src/mhd2/events_process.c:1741,1
    - Dst: daemon_resume_conns_if_needed
      Src: /src/mhd2/src/mhd2/events_process.c:1743,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/events_process.c:1754,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:1755,1
    - Dst: daemon_accept_new_conns
      Src: /src/mhd2/src/mhd2/events_process.c:1760,1
    - Dst: daemon_process_all_active_conns
      Src: /src/mhd2/src/mhd2/events_process.c:1762,1
    - Dst: daemon_cleanup_upgraded_conns
      Src: /src/mhd2/src/mhd2/events_process.c:1763,1
    - Dst: mhd_D_HAS_STOP_REQ
      Src: /src/mhd2/src/mhd2/events_process.c:1764,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1716
    functionDepth: 7
    functionLinenumber: 1716
    functionLinenumberEnd: 1765
    functionName: '(1) bool

      process_all_events_and_data (struct MHD_Daemon *restrict d)'
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - daemon_process_all_active_conns
    - mhd_D_HAS_STOP_REQ
    - daemon_accept_new_conns
    - mhd_assert
    - daemon_resume_conns_if_needed
    - ext_events_process_net_updates_and_resume_conn
    - get_all_net_updates_by_select_and_resume_conn
    - get_all_net_updates_by_epoll
    - daemon_cleanup_upgraded_conns
    - get_all_net_updates_by_poll
    - MHD_PANIC
    - mhd_WM_INT_HAS_EXT_EVENTS
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) 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:1777,1
    - Dst: process_all_events_and_data
      Src: /src/mhd2/src/mhd2/events_process.c:1791,1
    - Dst: ext_events_update_registrations
      Src: /src/mhd2/src/mhd2/events_process.c:1796,1
    - Dst: log_itc_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1803,1
    - Dst: log_listen_broken
      Src: /src/mhd2/src/mhd2/events_process.c:1810,1
    - Dst: mhd_daemon_get_wait_max
      Src: /src/mhd2/src/mhd2/events_process.c:1815,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: 1818
      start: 1769
    functionDepth: 7
    functionLinenumber: 1769
    functionLinenumberEnd: 1818
    functionName: process_reg_events_int
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_daemon_get_wait_max
    - process_all_events_and_data
    - log_itc_broken
    - log_listen_broken
    - ext_events_update_registrations
    - mhd_WM_INT_HAS_EXT_EVENTS
    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:1828,1
    - Dst: process_reg_events_int
      Src: /src/mhd2/src/mhd2/events_process.c:1832,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1836,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1841,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/events_process.c:1846,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: 1853
      start: 1822
    functionDepth: 8
    functionLinenumber: 1822
    functionLinenumberEnd: 1853
    functionName: MHD_daemon_process_reg_events
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 2
    functionsReached:
    - fprintf
    - process_reg_events_int
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_set_current_thread_ID
      Src: /src/mhd2/src/mhd2/events_process.c:1866,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1867,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1868,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1869,1
    - Dst: mhd_D_TYPE_IS_VALID
      Src: /src/mhd2/src/mhd2/events_process.c:1869,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1870,1
    - Dst: mhd_D_TYPE_HAS_EVENTS_PROCESSING
      Src: /src/mhd2/src/mhd2/events_process.c:1870,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1871,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1872,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/events_process.c:1872,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1873,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1874,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1875,1
    - Dst: mhd_thread_block_sigpipe
      Src: /src/mhd2/src/mhd2/events_process.c:1879,1
    - Dst: process_all_events_and_data
      Src: /src/mhd2/src/mhd2/events_process.c:1884,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1889,1
    - Dst: mhd_daemon_close_all_conns
      Src: /src/mhd2/src/mhd2/events_process.c:1893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1862
    functionDepth: 7
    functionLinenumber: 1862
    functionLinenumberEnd: 1896
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_all_events
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_D_TYPE_IS_VALID
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_D_TYPE_HAS_EVENTS_PROCESSING
    - mhd_thread_block_sigpipe
    - process_all_events_and_data
    - mhd_LOG_MSG
    - mhd_thread_handle_ID_set_current_thread_ID
    - mhd_daemon_close_all_conns
    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:1913,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1920,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/events_process.c:1921,1
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:1922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1923
    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_assert
    - MHD_PANIC
    - get_all_net_updates_by_poll
    - mhd_UNREACHABLE
    linkageType: ''
    returnType: MHD_FN_PAR_NONNULL_
    signature: 'MHD_FN_PAR_NONNULL_ (1) bool

      process_listening_and_itc_only (struct MHD_Daemon *restrict d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mhd_thread_handle_ID_set_current_thread_ID
      Src: /src/mhd2/src/mhd2/events_process.c:1937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1939,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1940,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1941,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1942,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1943,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/events_process.c:1944,1
    - Dst: mhd_thread_block_sigpipe
      Src: /src/mhd2/src/mhd2/events_process.c:1948,1
    - Dst: process_listening_and_itc_only
      Src: /src/mhd2/src/mhd2/events_process.c:1953,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/events_process.c:1958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1963
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_listening_only
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - process_listening_and_itc_only
    - mhd_thread_block_sigpipe
    - mhd_LOG_MSG
    - mhd_thread_handle_ID_set_current_thread_ID
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      mhd_worker_listening_only (void *cls)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_PANIC
      Src: /src/mhd2/src/mhd2/events_process.c:1970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 1972
    functionName: mhd_THRD_CALL_SPEC::mhd_worker_connection
    functionSourceFile: /src/mhd2/src/mhd2/events_process.c
    functionUses: 0
    functionsReached:
    - MHD_PANIC
    linkageType: ''
    returnType: mhd_THRD_RTRN_TYPE
    signature: 'mhd_THRD_RTRN_TYPE mhd_THRD_CALL_SPEC

      mhd_worker_connection (void *cls)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: MHD_HTTP_VERSION_IS_SUPPORTED
    functionSourceFile: /src/mhd2/src/mhd2/http_prot_ver.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MHD_HTTP_VERSION_IS_SUPPORTED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    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_CONNRESET
      Src: /src/mhd2/src/mhd2/mhd_socket_error_funcs.c:56,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      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: 4
    functionsReached:
    - mhd_SCKT_ERR_IS_EINVAL
    - mhd_SCKT_ERR_IS_CONNRESET
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_SCKT_ERR_IS_PIPE
    - mhd_SCKT_ERR_IS_NOTSOCK
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_ERR_IS_OPNOTSUPP
    - mhd_SCKT_ERR_IS_NOTCONN
    - mhd_SCKT_ERR_IS_BADF
    - mhd_SCKT_ERR_IS_LOW_MEM
    - mhd_SCKT_ERR_IS_CONN_BROKEN
    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: 2
    functionsReached:
    - mhd_socket_error_get_from_sys_err
    - mhd_SCKT_GET_LERR
    - mhd_getsockopt
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_socket_error_get_from_socket (MHD_Socket fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    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:131,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:137,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:139,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:143,1
    - Dst: mhd_DLINKEDL_INIT_LIST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:145,1
    - Dst: mhd_pool_allocate
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 174
    functionName: connection_set_initial_state
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - mhd_pool_allocate
    - memset
    - mhd_DLINKEDL_INIT_LIST
    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: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:226,1
    - Dst: mhd_D_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:233,1
    - Dst: mhd_tls_conn_get_tls_size
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:234,1
    - Dst: mhd_calloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:238,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:242,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:250,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:252,1
    - Dst: mhd_DLINKEDL_INIT_LINKS
      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:256,1
    - Dst: mhd_h2_blank_init
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:270,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:287,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:290,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:297,1
    - Dst: mhd_thread_handle_ID_set_invalid
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:316,1
    - Dst: mhd_tls_conn_init
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:325,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:329,1
    - Dst: mhd_monotonic_msec_counter
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:348,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:356,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:358,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:360,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:361,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 9
    argNames:
    - daemon
    - client_socket
    - addr
    - addrlen
    - external_add
    - non_blck
    - sk_spipe_supprs
    - sk_is_nonip
    - conn_out
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - struct sockaddr*
    - size_t
    - bool
    - bool
    - bool
    - enum mhd_Tristate
    - struct MHD_Connection**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 363
    functionName: new_connection_prepare_
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_thread_handle_ID_set_invalid
    - mhd_socket_close
    - mhd_DLINKEDL_INIT_LINKS
    - mhd_assert
    - mhd_tls_conn_get_tls_size
    - malloc
    - mhd_tls_conn_init
    - mhd_monotonic_msec_counter
    - mhd_D_HAS_TLS
    - free
    - mhd_LOG_MSG
    - memcpy
    - mhd_h2_blank_init
    - mhd_calloc
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode new_connection_prepare_ (struct MHD_Daemon *restrict
      daemon,\n                         MHD_Socket client_socket,\n                         const
      struct sockaddr *restrict addr,\n                         size_t addrlen,\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: 15
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:383,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:386,1
    - Dst: mhd_pool_create
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:391,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:395,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:404,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:411,1
    - Dst: mhd_DLINKEDL_INS_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:415,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:416,1
    - Dst: mhd_DLINKEDL_INS_FIRST_D
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:417,1
    - Dst: connection_set_http_layer_init_state
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:420,1
    - Dst: connection_set_initial_state
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:421,1
    - Dst: notify_app_conn
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:423,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:428,1
    - Dst: mhd_create_named_thread
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:430,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:439,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:449,1
    - Dst: epoll_ctl
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:472,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:477,1
    - Dst: mhd_dbg_print_fd_mon_req
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:483,1
    - Dst: mhd_conn_mark_ready
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:493,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:504,1
    - Dst: notify_app_conn
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:505,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:507,1
    - Dst: mhd_DLINKEDL_DEL_D
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:508,1
    - Dst: mhd_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:511,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:515,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:520,1
    - Dst: mhd_tls_conn_deinit
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:521,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:527,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:528,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:529,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:530,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 2
    argNames:
    - daemon
    - connection
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 532
    functionName: new_connection_process_inner
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_pool_create
    - mhd_DLINKEDL_INS_LAST
    - mhd_pool_destroy
    - mhd_LOG_MSG
    - mhd_D_HAS_THR_PER_CONN
    - epoll_ctl
    - mhd_assert
    - free
    - mhd_conn_mark_ready
    - mhd_DLINKEDL_INS_FIRST_D
    - mhd_DLINKEDL_DEL
    - connection_set_initial_state
    - mhd_tls_conn_deinit
    - mhd_socket_close
    - notify_app_conn
    - connection_set_http_layer_init_state
    - mhd_dbg_print_fd_mon_req
    - mhd_C_HAS_TLS
    - mhd_DLINKEDL_DEL_D
    - mhd_create_named_thread
    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:552,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:556,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - daemon
    - connection
    argTypes:
    - struct MHD_Daemon*
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 567
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:603,1
    - Dst: mhd_D_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:603,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:604,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:604,1
    - Dst: mhd_POLL_TYPE_INT_IS_EPOLL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:607,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:610,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:613,1
    - Dst: new_connection_prepare_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:616,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:629,1
    - Dst: MHD_mutex_lock_chk_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:634,1
    - Dst: DLL_insert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:635,1
    - Dst: MHD_mutex_unlock_chk_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:639,1
    - Dst: mhd_ITC_IS_VALID
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:643,1
    - Dst: mhd_itc_activate
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:644,1
    - Dst: MHD_DLOG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:647,1
    - Dst: _
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:648,1
    - Dst: new_connection_process_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 8
    argNames:
    - daemon
    - client_socket
    - addr
    - addrlen
    - external_add
    - non_blck
    - sk_spipe_supprs
    - sk_is_nonip
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - struct sockaddr*
    - size_t
    - bool
    - bool
    - bool
    - enum mhd_Tristate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 657
    functionName: internal_add_connection
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - MHD_mutex_lock_chk_
    - mhd_itc_activate
    - _
    - mhd_FD_FITS_DAEMON
    - mhd_POLL_TYPE_INT_IS_EPOLL
    - MHD_mutex_unlock_chk_
    - mhd_assert
    - new_connection_prepare_
    - MHD_DLOG
    - mhd_LOG_MSG
    - mhd_D_HAS_WORKERS
    - DLL_insert
    - mhd_ITC_IS_VALID
    - new_connection_process_
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode internal_add_connection (struct MHD_Daemon *daemon,\n
      \                        MHD_Socket client_socket,\n                         const
      struct sockaddr *addr,\n                         size_t addrlen,\n                         bool
      external_add,\n                         bool non_blck,\n                         bool
      sk_spipe_supprs,\n                         enum mhd_Tristate sk_is_nonip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:666,1
    - Dst: MHD_mutex_lock_chk_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:671,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:672,1
    - Dst: MHD_mutex_unlock_chk_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:678,1
    - Dst: DLL_remove
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:687,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:690,1
    - Dst: new_connection_process_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:691,1
    - Dst: MHD_DLOG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:694,1
    - Dst: _
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 661
    functionDepth: 5
    functionLinenumber: 661
    functionLinenumberEnd: 701
    functionName: new_connections_list_process_
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - MHD_mutex_lock_chk_
    - _
    - MHD_mutex_unlock_chk_
    - mhd_assert
    - DLL_remove
    - MHD_DLOG
    - new_connection_process_
    linkageType: ''
    returnType: void
    signature: void new_connections_list_process_ (struct MHD_Daemon *daemon)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mhd_D_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:719,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:723,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:726,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:735,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:738,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:745,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:748,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:755,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:759,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:769,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:772,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:779,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:783,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:792,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:795,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:805,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:807,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:809,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:813,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:815,1
    - Dst: mhd_socket_nosignal
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:829,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:832,1
    - Dst: MHD_socket_get_error_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:839,1
    - Dst: MHD_socket_close_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:840,1
    - Dst: MHD_socket_fset_error_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:841,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:850,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:851,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:860,1
    - Dst: internal_add_connection
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:888,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:899,1
    - Dst: internal_add_connection
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:904,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 5
    argNames:
    - MHD_RESTRICT
    - client_socket
    - addrlen
    - MHD_RESTRICT
    - connection_cntx
    argTypes:
    - struct MHD_Daemon*
    - MHD_Socket
    - size_t
    - struct sockaddr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 912
    functionName: MHD_daemon_add_connection
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 0
    functionsReached:
    - mhd_socket_close
    - mhd_socket_nosignal
    - mhd_FD_FITS_DAEMON
    - internal_add_connection
    - mhd_D_HAS_THREADS
    - mhd_socket_nonblocking
    - MHD_socket_close_
    - MHD_socket_get_error_
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_LOG_MSG
    - mhd_socket_noninheritable
    - MHD_socket_fset_error_
    linkageType: ''
    returnType: enum MHD_StatusCode
    signature: "enum MHD_StatusCode MHD_daemon_add_connection (struct MHD_Daemon *MHD_RESTRICT
      daemon,\n                           MHD_Socket client_socket,\n                           size_t
      addrlen,\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:935,1
    - Dst: mhd_D_HAS_THREADS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:935,1
    - Dst: mhd_thread_handle_ID_is_current_thread
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:936,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:937,1
    - Dst: mhd_D_TYPE_HAS_WORKERS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:937,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:941,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:942,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:945,1
    - Dst: accept4
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:961,1
    - Dst: accept
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:980,1
    - Dst: mhd_SCKT_GET_LERR
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1002,1
    - Dst: mhd_SCKT_ERR_IS_EINVAL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1004,1
    - Dst: mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1006,1
    - Dst: mhd_SCKT_ERR_IS_EINTR
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1008,1
    - Dst: mhd_SCKT_ERR_IS_EAGAIN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1010,1
    - Dst: mhd_SCKT_ERR_IS_LOW_RESOURCES
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1012,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1020,1
    - Dst: mhd_LOG_PRINT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1029,1
    - Dst: mhd_LOG_FMT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1030,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1038,1
    - Dst: mhd_FD_FITS_DAEMON
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1043,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1045,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1047,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1059,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1070,1
    - Dst: mhd_socket_nonblocking
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1089,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1091,1
    - Dst: mhd_socket_noninheritable
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1098,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1100,1
    - Dst: mhd_socket_nosignal
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1106,1
    - Dst: mhd_LOG_MSG
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1108,1
    - Dst: MHD_socket_close_
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1116,1
    - Dst: internal_add_connection
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1124,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 1
    argNames:
    - daemon
    argTypes:
    - struct MHD_Daemon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 915
    functionDepth: 6
    functionLinenumber: 915
    functionLinenumberEnd: 1134
    functionName: mhd_daemon_accept_connection
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 1
    functionsReached:
    - mhd_SCKT_ERR_IS_EINVAL
    - mhd_FD_FITS_DAEMON
    - mhd_D_HAS_THREADS
    - mhd_socket_nonblocking
    - mhd_LOG_MSG
    - mhd_LOG_PRINT
    - mhd_SCKT_ERR_IS_LOW_RESOURCES
    - accept
    - memset
    - mhd_SCKT_ERR_IS_EAGAIN
    - mhd_assert
    - mhd_LOG_FMT
    - mhd_SCKT_GET_LERR
    - MHD_socket_close_
    - mhd_SCKT_ERR_IS_EINTR
    - mhd_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT
    - mhd_socket_close
    - mhd_socket_nosignal
    - internal_add_connection
    - mhd_D_TYPE_HAS_WORKERS
    - mhd_thread_handle_ID_is_current_thread
    - mhd_socket_noninheritable
    - accept4
    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:1140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1141,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1143,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1144,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1145,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1146,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1147,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1147,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1148,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1148,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1149,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1150,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1150,1
    - Dst: mhd_D_HAS_THR_PER_CONN
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1152,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1154,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1157,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1157,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1158,1
    - Dst: mhd_DLINKEDL_GET_PREV
      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_DLINKEDL_DEL
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1171
    functionName: mhd_conn_remove_from_daemon
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 4
    functionsReached:
    - mhd_DLINKEDL_GET_PREV
    - mhd_assert
    - mhd_DLINKEDL_DEL
    - mhd_DLINKEDL_GET_NEXT
    - mhd_D_HAS_THR_PER_CONN
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_LAST
    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:1177,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1178,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1181,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1182,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1183,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1183,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1184,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1184,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1185,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1185,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1186,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1186,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1188,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1188,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1189,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1189,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1190,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1192,1
    - Dst: mhd_DLINKEDL_GET_NEXT
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1192,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1193,1
    - Dst: mhd_DLINKEDL_GET_PREV
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1193,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1194,1
    - Dst: mhd_DLINKEDL_GET_FIRST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1194,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1195,1
    - Dst: mhd_DLINKEDL_GET_LAST
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1195,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1198,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1200,1
    - Dst: mhd_D_HAS_TLS
      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_tls_conn_deinit
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1202,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1207,1
    - Dst: mhd_D_HAS_TLS
      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: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1214,1
    - Dst: mhd_socket_close
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1215,1
    - Dst: fprintf
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1217,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/daemon_add_conn.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1223
    functionName: mhd_conn_close_final
    functionSourceFile: /src/mhd2/src/mhd2/daemon_add_conn.c
    functionUses: 4
    functionsReached:
    - mhd_socket_close
    - fprintf
    - mhd_DLINKEDL_GET_PREV
    - mhd_assert
    - mhd_C_HAS_TLS
    - mhd_D_HAS_TLS
    - free
    - mhd_DLINKEDL_GET_NEXT
    - mhd_tls_conn_deinit
    - mhd_DLINKEDL_GET_FIRST
    - mhd_DLINKEDL_GET_LAST
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_conn_close_final (struct MHD_Connection *restrict
      c)
  - 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_DLINKEDL_GET_FIRST
    - mhd_assert
    - mhd_uint64_to_str
    - enc_field
    - mhd_DLINKEDL_GET_NEXT
    - mhd_hpack_enc_ph_status
    - mhd_build_date_str
    - mhd_MSTR_INIT
    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_hdr_encode
    - mhd_assert
    - mhd_h2_frame_set_payload_size
    - mhd_h2_frame_init_continuation
    - mhd_h2_frame_init_headers
    - mhd_h2_out_buff_acquire_fr_w_payload
    - stream_headers_encode
    - mhd_h2_out_buff_unlock
    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_assert
    - mhd_read_file
    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_frame_hdr_encode
    - mhd_h2_frame_init_data
    - mhd_assert
    - mhd_h2_frame_set_payload_size
    - content_read_file
    - mhd_h2_out_buff_acquire_fr_w_payload_l
    - memcpy
    - content_read_iovec
    - mhd_h2_out_buff_unlock
    - mhd_UNREACHABLE
    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_content_send
    - stream_headers_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_window_update
    - frame_decode_unknown_type
    - frame_decode_push_promise
    - frame_decode_data
    - frame_decode_ping
    - mhd_GET_32BIT_BE_UNALIGN
    - frame_decode_continuation
    - frame_decode_goaway
    - frame_decode_priority
    - frame_decode_settings
    - frame_decode_headers
    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_assert
    - mhd_h2_frame_get_extra_hdr_size
    - 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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_assert
    - mhd_PUT_32BIT_BE_UNALIGN
    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_push_promise
    - frame_hdr_encode_priority
    - frame_hdr_encode_rst_stream
    - frame_hdr_encode_headers
    - frame_hdr_encode_ping
    - frame_hdr_encode_window_update
    - mhd_assert
    - frame_hdr_encode_goaway
    - mhd_PUT_32BIT_BE_UNALIGN
    - frame_hdr_encode_settings
    - frame_hdr_encode_continuation
    - frame_hdr_encode_data
    - mhd_UNREACHABLE_D
    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_h2_out_buff_has_space_sz
    - mhd_assert
    - mhd_h2_frame_get_extra_hdr_size
    - mhd_h2_frame_init_settings
    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_q_frame_no_payload
    - mhd_h2_frame_init_settings
    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_setting_decode
    - h2_q_settings_ack
    - mhd_h2_conn_finish
    - mhd_assert
    - h2_has_space_for_ack
    - 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: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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:210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:214,1
    - Dst: mhd_h2_out_buff_acquire_fr_w_payload
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:216,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:221,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:222,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:239,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:247,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:255,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:256,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:264,1
    - Dst: mhd_h2_setting_encode3
      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:273,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:281,1
    - Dst: mhd_h2_setting_encode3
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:289,1
    - Dst: mhd_H2_W_BUFF_UPDATING_CLEAR
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:300,1
    - Dst: mhd_h2_conn_finish
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:307,1
    - Dst: mhd_h2_frame_set_payload_size
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:309,1
    - Dst: mhd_h2_frame_hdr_encode
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:312,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:315,1
    - Dst: mhd_h2_out_buff_unlock
      Src: /src/mhd2/src/mhd2/h2/h2_proc_settings.c:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 323
    functionName: mhd_h2_q_settings_first_fr
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_proc_settings.c
    functionUses: 0
    functionsReached:
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    - mhd_h2_frame_hdr_encode
    - mhd_h2_frame_init_settings
    - mhd_h2_conn_finish
    - mhd_assert
    - mhd_h2_frame_set_payload_size
    - mhd_h2_out_buff_acquire_fr_w_payload
    - mhd_h2_setting_encode3
    - mhd_h2_out_buff_unlock
    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_assert
    - mhd_h2_items_debug_get_streamid
    - mhd_h2_items_get_item_value
    - struct mhd_H2Stream*::c::daemon::req_cfg::uri_cb::cb
    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:
    - fprintf
    - struct MHD_Daemon*::req_cfg::cb
    - mhd_h2_stream_abort
    - mhd_assert
    - mhd_h2_items_debug_get_streamid
    - mhd_response_dec_use_count
    - check_and_alloc_buf_for_upload_processing
    - mhd_h2_items_get_item_value
    - mhd_C_IS_HTTP2
    - mhd_conn_start_closing_app_abort
    - mhd_LOG_MSG
    - MHD_PANIC
    - mhd_ACTION_IS_VALID
    - mhd_stream_prepare_for_post_parse
    - need_100_continue
    - mhd_UNREACHABLE
    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_streamid_in_rst_stream
    - mhd_h2_conn_finish
    - mhd_h2_conn_process_in_goaway
    - mhd_assert
    - mhd_h2_conn_streamid_window_incr
    - mhd_h2_proc_new_settings
    - mhd_h2_q_ping
    - mhd_h2_conn_streamid_in_continuation
    - mhd_h2_conn_streamid_in_headers
    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_assert
    - mhd_h2_frame_get_total_size
    - mhd_h2_conn_streamid_abort
    - process_inc_frame
    - mhd_h2_frame_decode
    - memmove
    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_dec_deinit
    - mhd_pool_create
    - mhd_hpack_enc_deinit
    - mhd_conn_start_closing_no_sys_res
    - mhd_hpack_enc_init
    - mhd_assert
    - mhd_pool_allocate
    - mhd_h2_items_block_create
    - mhd_pool_destroy
    - mhd_pool_reset
    - mhd_pool_get_size
    - mhd_hpack_dec_init
    - mhd_LOG_MSG
    - mhd_DLINKEDL_INIT_LIST_D
    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:276,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:276,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:277,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:280,1
    - Dst: mhd_h2_conn_close_streams_all
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:282,1
    - Dst: mhd_h2_items_block_destroy
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:284,1
    - Dst: mhd_hpack_enc_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:286,1
    - Dst: mhd_hpack_dec_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:287,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:289,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:290,1
    - Dst: mhd_pool_destroy
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:295,1
    - Dst: mhd_conn_start_closing_h2_hard
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:305,1
    - Dst: mhd_conn_start_closing_h2_soft
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 311
    functionName: mhd_h2_conn_deinit
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_hpack_dec_deinit
    - mhd_conn_start_closing_h2_hard
    - mhd_conn_start_closing_h2_soft
    - mhd_hpack_enc_deinit
    - mhd_assert
    - mhd_h2_items_block_destroy
    - mhd_pool_destroy
    - mhd_C_IS_HTTP2
    - mhd_h2_conn_close_streams_all
    linkageType: ''
    returnType: MHD_INTERNAL
    signature: MHD_INTERNAL mhd_h2_conn_deinit (struct MHD_Connection *restrict c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:330,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:331,1
    - Dst: mhd_D_IS_HTTP2_ENABLED
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:333,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:337,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:344,1
    - Dst: mhd_tls_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:346,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:354,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:368,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:375,1
    - Dst: h2_switch_to_h2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 381
    functionName: h2_handle_preface_found
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_tls_conn_get_alpn_prot
    - mhd_D_IS_HTTP2_ENABLED
    - mhd_assert
    - mhd_C_HAS_TLS
    - mhd_RESPOND_WITH_ERROR_STATIC
    - h2_switch_to_h2
    - mhd_UNREACHABLE
    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:407,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:408,1
    - Dst: mhd_C_HAS_TLS
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:411,1
    - Dst: mhd_tls_conn_get_alpn_prot
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:413,1
    - Dst: mhd_conn_start_closing
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:425,1
    - Dst: mhd_MSG4LOG
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:427,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:434,1
    - Dst: mhd_D_IS_HTTP1_ENABLED
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:443,1
    - Dst: mhd_RESPOND_WITH_ERROR_STATIC
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 457
    functionName: h2_handle_preface_not_found
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_D_IS_HTTP1_ENABLED
    - mhd_conn_start_closing
    - mhd_MSG4LOG
    - mhd_tls_conn_get_alpn_prot
    - mhd_assert
    - mhd_C_HAS_TLS
    - mhd_RESPOND_WITH_ERROR_STATIC
    - mhd_UNREACHABLE
    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:463,1
    - Dst: mhd_h2_check_preface
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:465,1
    - Dst: h2_handle_preface_found
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:469,1
    - Dst: h2_handle_preface_not_found
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:472,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 481
    functionName: mhd_h2_process_preface
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - h2_handle_preface_found
    - h2_handle_preface_not_found
    - mhd_h2_check_preface
    - mhd_UNREACHABLE
    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:489,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:489,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:491,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 505
    functionName: mhd_h2_conn_state_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_C_IS_HTTP2
    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:511,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 528
    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:538,1
    - Dst: mhd_h2_conn_process_first_fr
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:545,1
    - Dst: h2_conn_manage_buff_out
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:549,1
    - Dst: mhd_h2_conn_process_in_data
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:557,1
    - Dst: mhd_h2_conn_process_changes
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:566,1
    - Dst: mhd_h2_conn_process_streams_sending_queue
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 573
    functionName: h2_conn_process_data_inner
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 0
    functionsReached:
    - mhd_h2_conn_process_first_fr
    - h2_conn_manage_buff_out
    - mhd_h2_conn_process_changes
    - mhd_h2_conn_process_streams_sending_queue
    - mhd_h2_q_settings_first_fr
    - mhd_h2_conn_process_in_data
    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:579,1
    - Dst: mhd_C_IS_HTTP2
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:581,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:582,1
    - Dst: mhd_h2_conn_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:588,1
    - Dst: h2_conn_process_data_inner
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:594,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:596,1
    - Dst: mhd_h2_conn_deinit
      Src: /src/mhd2/src/mhd2/h2/h2_comm.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 606
    functionName: mhd_h2_conn_process_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_comm.c
    functionUses: 1
    functionsReached:
    - mhd_assert
    - mhd_C_IS_HTTP2
    - mhd_h2_conn_deinit
    - 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_FN_PAR_FIX_ARR_SIZE_
    - mhd_GET_32BIT_BE_UNALIGN
    - 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_assert
    - MHD_FN_PAR_FIX_ARR_SIZE_
    - mhd_PUT_16BIT_BE_UNALIGN
    - mhd_PUT_32BIT_BE_UNALIGN
    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_FN_PAR_FIX_ARR_SIZE_
    - mhd_h2_setting_encode3
    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:
    - mhd_assert
    - h2_ib_get_zero_itemc
    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_COND_HARDLY_EVER
    - mhd_ALIGNOF
    - malloc
    - mhd_assert
    - mhd_h2_items_block_reset
    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:
    - mhd_assert
    - h2_ib_get_buff_free_size
    - h2_ib_get_n_item
    - 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:325,1
    - Dst: mhd_assert
      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:340,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: 342
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: mhd_h2_items_add_new_item_reserved
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - h2_ib_get_buff_free_size
    - h2_ib_get_n_item
    - 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:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    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:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 363
    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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 371
    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:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 382
    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:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ib
    - pos
    argTypes:
    - struct mhd_H2ReqItemsBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 393
    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:402,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:407,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:409,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: 412
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: mhd_h2_items_get_item_name
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - h2_ib_get_buffc
    - h2_ib_get_n_itemc
    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:421,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:426,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:428,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: 431
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: mhd_h2_items_get_item_value
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 2
    functionsReached:
    - mhd_assert
    - h2_ib_get_buffc
    - h2_ib_get_n_itemc
    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:440,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:446,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: 450
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: mhd_h2_items_get_item_kind
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - h2_ib_get_n_itemc
    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:461,1
    - Dst: h2_ib_get_buffc
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:463,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c:474,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
    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: 479
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 479
    functionName: mhd_h2_items_get_item_full
    functionSourceFile: /src/mhd2/src/mhd2/h2/h2_req_items_funcs.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - h2_ib_get_buffc
    - h2_ib_get_n_itemc
    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: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    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: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    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_assert
    - mhd_h2_frame_get_extra_hdr_size
    - 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_assert
    - mhd_h2_proc_first_settings
    - mhd_h2_frame_get_total_size
    - mhd_C_IS_HTTP2
    - mhd_h2_frame_decode
    - mhd_H2_FRAME_DEC_ERR_IS_HARD
    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_assert
    - mhd_h2_items_get_strings_buffc
    - mhd_h2_items_debug_get_streamid
    - mhd_str_equal_lowercase_bin_n
    - mhd_CNTNR_PTR
    - mhd_h2_items_get_item_nc
    - req_items_kind_mask
    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:
    - iterator
    - mhd_assert
    - mhd_h2_items_get_strings_buffc
    - mhd_h2_items_debug_get_streamid
    - req_item_kind_h2_to_h1
    - mhd_CNTNR_PTR
    - mhd_h2_items_get_item_nc
    - req_items_kind_mask
    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_hpack_dec_data
    - mhd_assert
    - mhd_UNREACHABLE_D
    - mhd_h2_items_cancel_new_item_buff
    - mhd_h2_items_add_new_item_buff
    - mhd_HPACK_DEC_RES_IS_ERR
    - mhd_h2_items_get_buff_new_item
    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_parse_http_method
    - mhd_h2_stream_req_problem
    - mhd_h2_items_get_strings_buffc
    - mhd_assert
    - mhd_h2_items_get_item_nc
    - mhd_MSTR_INIT
    - 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_str_to_uint64
    - mhd_h2_stream_req_problem
    - mhd_h2_items_get_strings_buffc
    - mhd_assert
    - mhd_str_equal_caseless_bin_n
    - mhd_h2_items_get_item_nc
    - mhd_MSTR_INIT
    - 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_pseudoheaders_preprocess
    - mhd_assert
    - mhd_h2_items_debug_get_streamid
    - req_headers_preprocess
    - req_validate_fields_chars
    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_h2_items_reserve_new_item
    - mhd_str_pct_decode_lenient_n
    - mhd_h2_items_get_item_n
    - mhd_assert
    - mhd_h2_items_add_new_item_reserved
    - mhd_h2_items_get_strings_buff
    - memchr
    - mhd_str_dec_norm_uri_path
    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_CLEAR
    - mhd_assert
    - mhd_H2_W_BUFF_UPDATING_SET
    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_out_buff_has_space_sz
    - mhd_h2_frame_get_total_size
    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_W_BUFF_UPDATING_CLEAR
    - mhd_H2_W_BUFF_UPDATING_SET
    - mhd_h2_frame_get_padding_size
    - mhd_assert
    - mhd_h2_frame_get_extra_hdr_size
    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_assert
    - mhd_H2_W_BUFF_UPDATING_CLEAR
    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_W_BUFF_UPDATING_CLEAR
    - mhd_h2_frame_hdr_encode
    - mhd_H2_W_BUFF_UPDATING_SET
    - mhd_assert
    - mhd_h2_frame_get_extra_hdr_size
    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_assert
    - mhd_h2_q_frame_no_payload
    - 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_FN_PAR_FIX_ARR_SIZE_
    - mhd_h2_q_frame_no_payload
    - mhd_h2_frame_init_ping
    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_frame_init_goaway
    - mhd_h2_q_frame_no_payload
    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_assert
    - mhd_h2_q_frame_no_payload
    - mhd_h2_frame_init_window_update
    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_INIT_LINKS
    - mhd_assert
    - mhd_DLINKEDL_INS_LAST_D
    - mhd_calloc
    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:
    - mhd_assert
    - mhd_response_dec_use_count
    - free
    - mhd_DLINKEDL_DEL_D
    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_NEXT
    - mhd_DLINKEDL_GET_FIRST_D
    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_assert
    - mhd_h2_q_rst_stream
    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_req_cookie_parse
    - mhd_h2_req_uri_parse
    - stream_start_replying
    - mhd_assert
    - mhd_h2_items_debug_get_streamid
    - mhd_h2_stream_cb_request
    - mhd_h2_req_headers_preprocess
    - mhd_h2_stream_cb_early_uri
    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:
    - stream_proc_complete_headers
    - mhd_h2_stream_req_problem
    - mhd_h2_conn_finish
    - mhd_h2_req_fields_decode
    - mhd_assert
    - mhd_pool_get_size
    - mhd_UNREACHABLE
    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_assert
    - stream_proc_in_headers
    - conn_add_new_stream
    - mhd_h2_q_rst_stream
    - mhd_h2_items_block_reset
    - mhd_h2_items_debug_set_streamid
    - conn_find_stream
    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_assert
    - conn_proc_new_in_stream
    - mhd_h2_conn_finish
    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
    - mhd_assert
    - stream_proc_in_headers
    - conn_find_stream
    - memmove
    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_assert
    - mhd_DLINKEDL_INS_LAST
    - mhd_DLINKEDL_GET_LAST_D
    - stream_set_reply_props
    - mhd_DLINKEDL_GET_NEXT
    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_stream_req_problem
    - conn_find_stream
    - mhd_h2_conn_finish
    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:
    - stream_maintain_rcv_window
    - mhd_assert
    - stream_send_rst_stream
    - mhd_DLINKEDL_GET_NEXT
    - stream_is_closed
    - conn_remove_stream
    - mhd_DLINKEDL_GET_FIRST_D
    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_INS_LAST_D
    - mhd_assert
    - mhd_DLINKEDL_DEL_D
    - mhd_h2_stream_reply_send
    - stream_is_closed
    - conn_remove_stream
    - mhd_DLINKEDL_GET_FIRST_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_assert
    - mhd_DLINKEDL_DEL_D
    - stream_is_closed
    - conn_remove_stream
    - mhd_DLINKEDL_GET_FIRST_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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    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: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    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: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    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_assert
    - mhd_RESP_HAS_AUTH_DIGEST
    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_DTBL_VALUE_FITS
    - mhd_assert
    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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_new_entry_strs_size_formal
    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_new_entry_size_formal
    - mhd_assert
    - dtbl_entr_strs_size_min
    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_start
    - dtbl_entr_strs_size_min
    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_start
    - dtbl_entr_strs_size_optm
    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:
    - mhd_assert
    - dtbl_is_empty
    - dtbl_get_pos_edge
    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:
    - mhd_assert
    - dtbl_is_empty
    - dtbl_get_pos_edge
    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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_pos_newest
    - dtbl_get_num_entries
    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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_pos_newest
    - dtbl_get_pos_edge
    - dtbl_get_num_entries
    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_DTBL_VALUE_FITS
    - mhd_assert
    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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_is_empty
    - dtbl_get_infos
    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_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_is_empty
    - 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
    - mhd_assert
    - dtbl_get_pos_edge
    - 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_pos_entry_infoc
    - dtbl_get_strs_ceiling
    - mhd_assert
    - dtbl_get_pos_edge
    - 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_get_pos_newest
    - dtbl_pos_entry_info
    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_pos_entry_infoc
    - dtbl_entr_strs_size_min
    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_pos_entry_infoc
    - dtbl_entr_strs_size_optm
    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_entr_size_formal
    - dtbl_pos_entry_infoc
    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_pos_entry_infoc
    - dtbl_entr_strs_start
    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_entr_strs_end_optm
    - dtbl_pos_entry_infoc
    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_get_strs_buff
    - mhd_assert
    - dtbl_entr_strs_start
    - dtbl_zero_entry_infoc
    - dtbl_edge_entry_infoc
    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:
    - mhd_assert
    - dtbl_entr_strs_start
    - dtbl_zero_entry_infoc
    - dtbl_edge_entry_infoc
    - 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_entr_strs_end_min
    - dtbl_get_strs_buff
    - mhd_assert
    - dtbl_zero_entry_infoc
    - dtbl_edge_entry_infoc
    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_entr_strs_end_min
    - mhd_assert
    - dtbl_zero_entry_infoc
    - dtbl_edge_entry_infoc
    - 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:
    - mhd_assert
    - dtbl_zero_entry_infoc
    - dtbl_entr_strs_end_optm
    - dtbl_edge_entry_infoc
    - 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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_entr_strs_ptr_endc
    - dtbl_zero_entry_infoc
    - dtbl_edge_entry_infoc
    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_pos_entry_infoc
    - dtbl_entr_strs_ptr_startc
    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_entr_strs_ptr_end
    - dtbl_pos_entry_info
    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_pos_entry_infoc
    - dtbl_entr_strs_ptr_end_slackc
    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_pos_entry_infoc
    - dtbl_entr_as_edge_get_gap
    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_DTBL_VALUE_FITS
    - mhd_assert
    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_strs_ptr_start
    - memset
    - dtbl_pos_strs_ptr_endc
    - dtbl_pos_entry_info
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_bottom_gap
    - dtbl_pos_strs_start
    - dtbl_get_pos_edge
    - dtbl_pos_strs_end_min
    - dtbl_edge_gap
    - memmove
    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_strs_ptr_start
    - memset
    - dtbl_pos_strs_ptr_endc
    - dtbl_pos_entry_info
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - memmove
    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_get_pos_newest
    - mhd_assert
    - dtbl_move_strs_down
    - dtbl_get_pos_oldest
    - dtbl_pos_strs_start
    - dtbl_get_pos_edge
    - dtbl_get_free_formal
    - dtbl_edge_gap
    - dtbl_pos_strs_end_optm
    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:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_choose_strs_offset_for_size
    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_DTBL_VALUE_FITS
    - mhd_assert
    - 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_zeroout_strs_slack_ptr_space
    - mhd_assert
    - dtbl_get_strs_buff
    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_zeroout_strs_slack_ptr_space
    - mhd_assert
    - dtbl_entr_strs_ptr_end
    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:
    - mhd_assert
    - dtbl_entr_strs_end_min
    - dtbl_zeroout_strs_slack_offset_next
    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_entry_infoc
    - dtbl_zeroout_strs_slack_entry_space
    - dtbl_zeroout_strs_slack_offset_next
    - dtbl_pos_strs_end_min
    - dtbl_get_pos_edge
    - dtbl_pos_strs_start
    - dtbl_edge_gap
    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: 1919
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1919
    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: 1924
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1924
    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: 1929
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1929
    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: 1934
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1934
    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: 1939
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1939
    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:1972,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1977,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1977,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1978,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1980,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1996,1
    - Dst: dtbl_pos_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1996,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1997,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1998,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:1999,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2000,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2002,1
    - Dst: dtbl_pos_strs_start
      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:2005,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2012,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2013,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2013,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2014,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2015,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_zeroout_strs_slack_entry_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2018,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2027,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2027,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
    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: 2034
      start: 1965
    functionDepth: 5
    functionLinenumber: 1965
    functionLinenumberEnd: 2034
    functionName: dtbl_new_entry_copy_entr_strs
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_strs_end_min
    - dtbl_get_strs_buff
    - dtbl_get_strs_ceiling
    - mhd_assert
    - dtbl_zeroout_strs_slack_entry_next
    - dtbl_is_empty
    - dtbl_pos_strs_end_min
    - dtbl_pos_strs_start
    - dtbl_pos_strs_size_min
    - dtbl_zero_entry_infoc
    - memcpy
    - dtbl_entr_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:2053,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2053,1
    - Dst: dtbl_get_infos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2050
    functionDepth: 7
    functionLinenumber: 2050
    functionLinenumberEnd: 2057
    functionName: dtbl_new_edge_peek_slot
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_edge_gap
    - 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:2095,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2095,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2096,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2096,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2097,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2097,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2098,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2100,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: 2102
      start: 2091
    functionDepth: 8
    functionLinenumber: 2091
    functionLinenumberEnd: 2102
    functionName: dtbl_move_infos_up
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_assert
    - dtbl_new_edge_peek_slot
    - dtbl_get_pos_edge
    - dtbl_edge_gap
    - dtbl_edge_entry_infoc
    - memmove
    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:2147,1
    - Dst: mhd_assert
      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:2153,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: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2164,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: 2167
      start: 2135
    functionDepth: 2
    functionLinenumber: 2135
    functionLinenumberEnd: 2167
    functionName: dtbl_move_infos_pos
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_infos
    - mhd_assert
    - memmove
    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:2180,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2181,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2182,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2183,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2185,1
    - Dst: dtbl_is_empty
      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:2188,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2189,1
    - Dst: dtbl_zero_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2194,1
    - Dst: mhd_assert
      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:2199,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2203,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2203,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2208,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2210,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:2215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2216,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2217,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2218,1
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2218,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2219,1
    - Dst: dtbl_entr_size_formal
      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_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2223,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2226,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2229,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2229,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2230,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2233,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2234,1
    - Dst: dtbl_pos_strs_end_optm
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2234,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2235,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2239,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:2240,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2241,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2242,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2243,1
    - Dst: dtbl_entr_strs_ptr_endc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2243,1
    - Dst: dtbl_edge_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2244,1
    - Dst: dtbl_get_pos_edge
      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_pos_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2246,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2248,1
    - Dst: mhd_assert
      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:2252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2177
    functionDepth: 7
    functionLinenumber: 2177
    functionLinenumberEnd: 2254
    functionName: dtbl_check_internals
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_size_formal
    - dtbl_entr_strs_end_min
    - dtbl_pos_entry_infoc
    - mhd_assert
    - dtbl_is_empty
    - dtbl_get_pos_oldest
    - dtbl_entr_strs_ptr_endc
    - dtbl_pos_strs_end_min
    - dtbl_get_pos_edge
    - dtbl_pos_strs_start
    - dtbl_zero_entry_infoc
    - dtbl_pos_as_edge_get_gap
    - dtbl_edge_gap
    - dtbl_edge_entry_infoc
    - dtbl_pos_strs_end_optm
    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: 2260
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2260
    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:2285,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2285,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2286,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2286,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2287,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2287,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2288,1
    - Dst: mhd_assert
      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:2292,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2292,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2294,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2300,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2300,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2301,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2302,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2302,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2302,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2303,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2303,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2304,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2307,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2312,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2314,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2315,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2315,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: 2316
      start: 2274
    functionDepth: 8
    functionLinenumber: 2274
    functionLinenumberEnd: 2316
    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_entr_size_formal
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_strs_ceiling
    - dtbl_is_empty
    - dtbl_new_edge_peek_slot
    - dtbl_get_pos_newest
    - dtbl_check_internals
    - dtbl_entr_strs_size_min
    - dtbl_get_free_formal
    - dtbl_edge_gap
    - dtbl_new_entry_copy_entr_strs
    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:2350,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2350,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2351,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2351,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2352,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2352,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2353,1
    - Dst: mhd_assert
      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: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2355,1
    - Dst: dtbl_new_entry_size_formal
      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:2359,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2359,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2360,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2360,1
    - Dst: dtbl_get_pos_newest
      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:2361,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2361,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2364,1
    - Dst: dtbl_choose_strs_offset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2375,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2375,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2376,1
    - Dst: dtbl_get_strs_ceiling
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2377,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2381,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2381,1
    - Dst: dtbl_entr_strs_size_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2382,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2384,1
    - Dst: dtbl_new_edge_peek_slot
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2389,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2392,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2394,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2394,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2395,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2395,1
    - Dst: mhd_assert
      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:2397,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2400,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2400,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: 2401
      start: 2338
    functionDepth: 8
    functionLinenumber: 2338
    functionLinenumberEnd: 2401
    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_entr_size_formal
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_pos_newest
    - dtbl_is_empty
    - dtbl_get_strs_ceiling
    - dtbl_new_edge_peek_slot
    - dtbl_choose_strs_offset
    - dtbl_new_entry_size_formal
    - dtbl_check_internals
    - dtbl_get_pos_edge
    - dtbl_pos_strs_end_min
    - dtbl_entr_strs_size_min
    - dtbl_get_free_formal
    - dtbl_edge_gap
    - dtbl_new_entry_copy_entr_strs
    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:2435,1
    - Dst: dtbl_oldest_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2441,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2444,1
    - Dst: dtbl_newest_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2444,1
    - Dst: dtbl_entr_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2447,1
    - Dst: dtbl_oldest_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2447,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2451,1
    - Dst: mhd_DTBL_VALUE_FITS
      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:2452,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2452,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2453,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2453,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2454,1
    - Dst: mhd_assert
      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: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2456,1
    - Dst: dtbl_get_pos_newest
      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: dtbl_get_pos_edge
      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:2461,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2462,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2462,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2465,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2465,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2467,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2472,1
    - Dst: dtbl_choose_strs_offset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2477,1
    - Dst: mhd_assert
      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:2482,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2483,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2484,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2484,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2485,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2485,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2486,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2488,1
    - Dst: dtbl_move_infos_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2494,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2500,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2502,1
    - Dst: dtbl_entr_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2503,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2503,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2503,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2504,1
    - Dst: dtbl_is_empty
      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:2505,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2508,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2508,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: 2509
      start: 2426
    functionDepth: 9
    functionLinenumber: 2426
    functionLinenumberEnd: 2509
    functionName: dtbl_insert_next_new_entry
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_entr_size_formal
    - dtbl_get_pos_oldest
    - dtbl_oldest_entry_infoc
    - dtbl_newest_entry_info
    - mhd_assert
    - dtbl_entr_strs_start
    - dtbl_entr_strs_end_min
    - dtbl_move_infos_up
    - dtbl_choose_strs_offset
    - dtbl_get_pos_prev
    - dtbl_get_pos_edge
    - dtbl_get_free_formal
    - dtbl_new_entry_copy_entr_strs
    - mhd_DTBL_VALUE_FITS
    - dtbl_get_pos_newest
    - dtbl_is_empty
    - dtbl_oldest_entry_info
    - dtbl_check_internals
    - dtbl_edge_gap
    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:2532,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2532,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2533,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2533,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2534,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2534,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2535,1
    - Dst: mhd_assert
      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: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2537,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2538,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2540,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2542,1
    - Dst: dtbl_add_first_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2545,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2553,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2553,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2562,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2564,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2567,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2567,1
    - Dst: mhd_assert
      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:2573,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2574,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2576,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2579,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2579,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2615,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2617,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2628,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2632,1
    - Dst: dtbl_edge_gap
      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:2634,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2634,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2646,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2661,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2662,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2666,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2667,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2671,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2678,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2678,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2678,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2679,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2679,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2679,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2680,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2681,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2681,1
    - Dst: mhd_assert
      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:2684,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:2699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2700,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2702,1
    - Dst: dtbl_get_pos_oldest
      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:2712,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2713,1
    - Dst: dtbl_move_strs_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2715,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2716,1
    - Dst: dtbl_insert_next_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2726,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: 2731
      start: 2523
    functionDepth: 10
    functionLinenumber: 2523
    functionLinenumberEnd: 2731
    functionName: dtbl_extend_with_entry
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_get_pos_newest
    - dtbl_is_empty
    - dtbl_add_first_entry
    - dtbl_add_new_entry_at_new_edge
    - dtbl_move_strs_down
    - dtbl_move_strs_up
    - dtbl_new_entry_size_formal
    - dtbl_get_pos_oldest
    - dtbl_bottom_gap
    - dtbl_check_internals
    - dtbl_get_pos_edge
    - dtbl_pos_strs_end_min
    - dtbl_pos_strs_start
    - dtbl_get_free_formal
    - dtbl_edge_gap
    - dtbl_insert_next_new_entry
    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:2760,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2764,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2764,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2769,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2769,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2770,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2770,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2771,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2772,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2772,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_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_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2776,1
    - Dst: dtbl_new_entry_size_formal
      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: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2778,1
    - Dst: dtbl_new_entry_size_formal
      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: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2781,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2782,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2785,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2790,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2793,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2795,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2798,1
    - Dst: dtbl_get_num_entries
      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:2807,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2808,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2810,1
    - Dst: mhd_assert
      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:2811,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2813,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2813,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2819,1
    - Dst: dtbl_add_first_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2820,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2827,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2836,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2837,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2837,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2841,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2841,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2846,1
    - Dst: dtbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2867,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2870,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2873,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2877,1
    - Dst: dtbl_pos_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2879,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2882,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2887,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2888,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2888,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2889,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2889,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2890,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2891,1
    - Dst: dtbl_get_num_entries
      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: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2893,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2898,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2900,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2913,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2913,1
    - Dst: dtbl_move_strs_up
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2914,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2921,1
    - Dst: dtbl_choose_strs_offset_for_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2925,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2929,1
    - Dst: dtbl_get_num_entries
      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:2930,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2930,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2931,1
    - Dst: dtbl_new_entry_copy_entr_strs
      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:2940,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2960,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2963,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2969,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2972,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2972,1
    - Dst: mhd_assert
      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:2974,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2975,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2975,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2976,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2976,1
    - Dst: dtbl_zero_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2984,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:2993,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3005,1
    - Dst: dtbl_entr_strs_end_min
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3005,1
    - Dst: dtbl_pos_strs_start
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3006,1
    - Dst: dtbl_new_entry_copy_entr_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3008,1
    - Dst: dtbl_zeroout_strs_slack_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3017,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3018,1
    - Dst: dtbl_pos_as_edge_get_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3030,1
    - Dst: mhd_assert
      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:3035,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3037,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3048,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3057,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3057,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3066,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3067,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3067,1
    - Dst: dtbl_move_strs_down
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3069,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3072,1
    - Dst: dtbl_bottom_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3072,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3073,1
    - Dst: dtbl_edge_gap
      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:3074,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3074,1
    - Dst: dtbl_new_entry_strs_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3076,1
    - Dst: dtbl_add_new_entry_at_new_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3085,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: 3094
      start: 2749
    functionDepth: 8
    functionLinenumber: 2749
    functionLinenumberEnd: 3094
    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_pos_entry_info
    - dtbl_add_new_entry_at_new_edge
    - dtbl_get_pos_oldest
    - dtbl_new_entry_strs_size_formal
    - dtbl_get_size_max_formal
    - dtbl_zero_entry_info
    - dtbl_choose_strs_offset_for_size
    - dtbl_reset
    - mhd_assert
    - dtbl_move_strs_up
    - dtbl_move_strs_down
    - dtbl_zeroout_strs_slack_pos
    - dtbl_move_infos_pos
    - dtbl_entr_strs_end_min
    - dtbl_new_entry_size_formal
    - mhd_COND_ALMOST_NEVER
    - dtbl_get_pos_prev
    - dtbl_bottom_gap
    - dtbl_pos_size_formal
    - dtbl_get_pos_edge
    - dtbl_get_free_formal
    - dtbl_get_pos_next
    - dtbl_new_entry_copy_entr_strs
    - mhd_DTBL_VALUE_FITS
    - dtbl_get_pos_newest
    - dtbl_is_empty
    - dtbl_add_first_entry
    - dtbl_check_internals
    - dtbl_pos_strs_start
    - dtbl_pos_strs_end_min
    - dtbl_pos_as_edge_get_gap
    - dtbl_edge_gap
    - dtbl_get_num_entries
    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:3114,1
    - Dst: dtbl_get_pos_oldest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3117,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3125,1
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3125,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3126,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3127,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3127,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3128,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3129,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3132,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3137,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3140,1
    - Dst: dtbl_pos_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3142,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3146,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3148,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3150,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3151,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3151,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3153,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3153,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3156,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3159,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3162,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3163,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3163,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3176,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3182,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3183,1
    - Dst: dtbl_get_num_entries
      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:3184,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3184,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3187,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3189,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3193,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3193,1
    - Dst: dtbl_get_pos_newest
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3193,1
    - Dst: dtbl_get_pos_next
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3202,1
    - Dst: dtbl_get_pos_prev
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3205,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3210,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3210,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3211,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3212,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3213,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3213,1
    - Dst: dtbl_move_infos_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3215,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3221,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: 3225
      start: 3109
    functionDepth: 5
    functionLinenumber: 3109
    functionLinenumberEnd: 3225
    functionName: dtbl_evict_to_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 3
    functionsReached:
    - dtbl_reset
    - mhd_assert
    - dtbl_get_pos_newest
    - dtbl_is_empty
    - mhd_COND_ALMOST_NEVER
    - dtbl_get_pos_oldest
    - dtbl_get_pos_prev
    - dtbl_pos_size_formal
    - dtbl_get_used_formal
    - dtbl_get_pos_edge
    - dtbl_get_pos_next
    - dtbl_move_infos_pos
    - dtbl_get_num_entries
    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:3248,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3251,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3253,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3253,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3254,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3254,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3255,1
    - Dst: mhd_DTBL_VALUE_FITS
      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:3256,1
    - Dst: mhd_assert
      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: dtbl_get_used_formal
      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:3263,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3263,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3264,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3265,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3267,1
    - Dst: dtbl_compact_strs
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3268,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3270,1
    - Dst: dtbl_edge_gap
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3270,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3273,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3281,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3281,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3282,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3283,1
    - Dst: dtbl_edge_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3291,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3292,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: 3295
      start: 3241
    functionDepth: 9
    functionLinenumber: 3241
    functionLinenumberEnd: 3295
    functionName: dtbl_perform_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_compact_strs
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - mhd_ALIGNOF
    - dtbl_is_empty
    - mhd_COND_ALMOST_NEVER
    - dtbl_edge_entry_info
    - dtbl_get_used_formal
    - dtbl_edge_gap
    - dtbl_edge_entry_infoc
    - dtbl_get_size_max_formal
    - dtbl_get_num_entries
    - memmove
    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:3315,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3315,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3316,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3316,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3317,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3318,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3320,1
    - Dst: dtbl_perform_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3322,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: 3332
      start: 3310
    functionDepth: 10
    functionLinenumber: 3310
    functionLinenumberEnd: 3332
    functionName: dtbl_adapt_to_new_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - dtbl_is_empty
    - 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:3353,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3353,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3362,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3363,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3364,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3370,1
    - Dst: mhd_ALIGNOF
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3371,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3373,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - formal_size
    argTypes:
    - dtbl_size_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3348
    functionDepth: 1
    functionLinenumber: 3348
    functionLinenumberEnd: 3376
    functionName: dtbl_size_t::dtbl_calc_alloc_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - 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:3405,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3407,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3416,1
    - Dst: dtbl_entr_strs_ptr_namec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3417,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3422,1
    - Dst: dtbl_entr_strs_ptr_valuec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3423,1
    - Dst: dtbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3427,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3428,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: 3432
      start: 3396
    functionDepth: 6
    functionLinenumber: 3396
    functionLinenumberEnd: 3432
    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_entr_strs_ptr_namec
    - dtbl_get_hpack_idx_from_pos
    - dtbl_get_infos_as_arrayc
    - dtbl_entr_strs_ptr_valuec
    - dtbl_get_pos_edge
    - dtbl_get_num_entries
    - memcmp
    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:3454,1
    - Dst: dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3456,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3463,1
    - Dst: dtbl_entr_strs_ptr_namec
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3464,1
    - Dst: dtbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3468,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3469,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: 3473
      start: 3447
    functionDepth: 6
    functionLinenumber: 3447
    functionLinenumberEnd: 3473
    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_entr_strs_ptr_namec
    - dtbl_get_hpack_idx_from_pos
    - dtbl_get_infos_as_arrayc
    - dtbl_get_pos_edge
    - dtbl_get_num_entries
    - memcmp
    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:3504,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3505,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3505,1
    - Dst: dtbl_calc_alloc_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3507,1
    - Dst: malloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3509,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3516,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - dyn_table_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3498
    functionDepth: 8
    functionLinenumber: 3498
    functionLinenumberEnd: 3521
    functionName: mhd_dtbl_create
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 17
    functionsReached:
    - dtbl_reset
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - malloc
    - dtbl_calc_alloc_size
    - dtbl_check_internals
    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:3532,1
    - Dst: free
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3529
    functionDepth: 8
    functionLinenumber: 3529
    functionLinenumberEnd: 3535
    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:3546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3543
    functionDepth: 1
    functionLinenumber: 3543
    functionLinenumberEnd: 3547
    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:3558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3555
    functionDepth: 2
    functionLinenumber: 3555
    functionLinenumberEnd: 3559
    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:3570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct mhd_HpackDTblContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3567
    functionDepth: 1
    functionLinenumber: 3567
    functionLinenumberEnd: 3571
    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:3591,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3594,1
    - Dst: dtbl_get_used_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3595,1
    - Dst: dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3598,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3601,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: 3602
      start: 3587
    functionDepth: 8
    functionLinenumber: 3587
    functionLinenumberEnd: 3602
    functionName: mhd_dtbl_evict_to_size
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 3
    functionsReached:
    - dtbl_evict_to_size
    - dtbl_reset
    - dtbl_is_empty
    - dtbl_check_internals
    - dtbl_get_used_formal
    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:3623,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3626,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3627,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3627,1
    - Dst: dtbl_calc_alloc_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3632,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3639,1
    - Dst: dtbl_adapt_to_new_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3646,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3653,1
    - Dst: dtbl_adapt_to_new_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3657,1
    - Dst: realloc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3663,1
    - Dst: mhd_COND_VIRTUALLY_ALWAYS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3669,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3673,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: 3676
      start: 3619
    functionDepth: 11
    functionLinenumber: 3619
    functionLinenumberEnd: 3676
    functionName: mhd_dtbl_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 2
    functionsReached:
    - dtbl_adapt_to_new_size
    - mhd_dtbl_evict_to_size
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - realloc
    - dtbl_calc_alloc_size
    - dtbl_check_internals
    - mhd_COND_VIRTUALLY_ALWAYS
    - dtbl_get_size_max_formal
    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:3696,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3699,1
    - Dst: dtbl_get_size_max_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3702,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: 3703
      start: 3687
    functionDepth: 1
    functionLinenumber: 3687
    functionLinenumberEnd: 3703
    functionName: mhd_dtbl_check_entry_fit
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - dtbl_get_size_max_formal
    - mhd_COND_HARDLY_EVER
    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:3728,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3728,1
    - Dst: dtbl_reset
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3734,1
    - Dst: dtbl_get_free_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3737,1
    - Dst: dtbl_new_entry_size_formal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3738,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3742,1
    - Dst: mhd_DTBL_VALUE_FITS
      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:3743,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3743,1
    - Dst: dtbl_extend_with_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3744,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3754,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3754,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3755,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3755,1
    - Dst: dtbl_evict_add_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3756,1
    - Dst: dtbl_check_internals
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3763,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: 3764
      start: 3721
    functionDepth: 11
    functionLinenumber: 3721
    functionLinenumberEnd: 3764
    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:
    - dtbl_reset
    - mhd_DTBL_VALUE_FITS
    - mhd_assert
    - mhd_COND_ALMOST_NEVER
    - dtbl_new_entry_size_formal
    - dtbl_extend_with_entry
    - dtbl_check_internals
    - dtbl_evict_add_entry
    - dtbl_get_free_formal
    - mhd_dtbl_check_entry_fit
    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:3799,1
    - Dst: dtbl_is_empty
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3800,1
    - Dst: dtbl_get_pos_edge
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3802,1
    - Dst: dtbl_pos_entry_infoc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3805,1
    - Dst: dtbl_get_pos_from_hpack_idx
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3806,1
    - Dst: dtbl_entr_strs_ptr_startc
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3809,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: 3815
      start: 3792
    functionDepth: 5
    functionLinenumber: 3792
    functionLinenumberEnd: 3815
    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_pos_entry_infoc
    - dtbl_get_pos_from_hpack_idx
    - mhd_assert
    - dtbl_is_empty
    - dtbl_entr_strs_ptr_startc
    - dtbl_get_pos_edge
    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:3841,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3844,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3844,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3846,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3846,1
    - Dst: dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3849,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: 3854
      start: 3834
    functionDepth: 2
    functionLinenumber: 3834
    functionLinenumberEnd: 3854
    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_DTBL_VALUE_FITS
    - dtbl_find_entry
    - dtbl_is_empty
    - mhd_COND_HARDLY_EVER
    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:3875,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3878,1
    - Dst: mhd_DTBL_VALUE_FITS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3878,1
    - Dst: dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:3881,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: 3884
      start: 3870
    functionDepth: 2
    functionLinenumber: 3870
    functionLinenumberEnd: 3884
    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:
    - mhd_DTBL_VALUE_FITS
    - dtbl_find_name
    - dtbl_is_empty
    - mhd_COND_HARDLY_EVER
    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:4008,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hpack_idx
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4005
    functionDepth: 1
    functionLinenumber: 4005
    functionLinenumberEnd: 4011
    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:4027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loc_pos
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4024
    functionDepth: 1
    functionLinenumber: 4024
    functionLinenumberEnd: 4029
    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:4043,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loc_pos
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4040
    functionDepth: 1
    functionLinenumber: 4040
    functionLinenumberEnd: 4047
    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:4061,1
    - Dst: stbl_get_pos_from_hpack_idx
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hpack_idx
    argTypes:
    - dtbl_idx_ft
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4058
    functionDepth: 2
    functionLinenumber: 4058
    functionLinenumberEnd: 4062
    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:4099,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: 4105
      start: 4094
    functionDepth: 3
    functionLinenumber: 4094
    functionLinenumberEnd: 4105
    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:4132,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4133,1
    - Dst: mhd_COND_ALMOST_ALWAYS
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4136,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4142,1
    - Dst: mhd_assert
      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:4147,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4149,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4153,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4158,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4169,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4172,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4179,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4180,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4181,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4186,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4196,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4201,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4202,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4207,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4212,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: 4220
      start: 4125
    functionDepth: 2
    functionLinenumber: 4125
    functionLinenumberEnd: 4220
    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_assert
    - stbl_get_hpack_idx_from_pos
    - mhd_COND_ALMOST_ALWAYS
    - stbl_pos_entry_info
    - 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:4243,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4244,1
    - Dst: stbl_pos_entry_info
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4248,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4252,1
    - Dst: memcmp
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4253,1
    - Dst: stbl_get_hpack_idx_from_pos
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - name_len
    - name
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4262
      start: 4237
    functionDepth: 2
    functionLinenumber: 4237
    functionLinenumberEnd: 4262
    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:
    - mhd_assert
    - stbl_get_hpack_idx_from_pos
    - stbl_pos_entry_info
    - memcmp
    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:4295,1
    - Dst: mhd_stbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4299,1
    - Dst: mhd_dtbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4305,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: 4309
      start: 4289
    functionDepth: 1
    functionLinenumber: 4289
    functionLinenumberEnd: 4309
    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:4338,1
    - Dst: mhd_stbl_find_entry_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4342,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4350,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: 4357
      start: 4329
    functionDepth: 1
    functionLinenumber: 4329
    functionLinenumberEnd: 4357
    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_assert
    - mhd_dtbl_find_entry
    - mhd_stbl_find_entry_real
    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:4381,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4385,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4391,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: 4396
      start: 4374
    functionDepth: 1
    functionLinenumber: 4374
    functionLinenumberEnd: 4396
    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_assert
    - mhd_dtbl_find_name
    - mhd_stbl_find_name_real
    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:4454,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4465,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4466,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4571,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4572,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: 4617
      start: 4451
    functionDepth: 1
    functionLinenumber: 4451
    functionLinenumberEnd: 4617
    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:4624,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4629,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4636
      start: 4621
    functionDepth: 9
    functionLinenumber: 4621
    functionLinenumberEnd: 4636
    functionName: mhd_hpack_dec_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_dtbl_get_table_max_size
    - mhd_assert
    - 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:4646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4640
    functionDepth: 9
    functionLinenumber: 4640
    functionLinenumberEnd: 4648
    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:4656,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: 4658
      start: 4652
    functionDepth: 1
    functionLinenumber: 4652
    functionLinenumberEnd: 4658
    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:4673,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4677,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4680,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4685,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hk_dec
    argTypes:
    - struct mhd_HpackDecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4688
      start: 4670
    functionDepth: 12
    functionLinenumber: 4670
    functionLinenumberEnd: 4688
    functionName: dec_check_resize_pending
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_table_max_size
    - mhd_assert
    - mhd_dtbl_resize
    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:4725,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4726,1
    - Dst: dec_check_resize_pending
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4730,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4731,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4734,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4750,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4754,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4756,1
    - Dst: mhd_htbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4759,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4770,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4775,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: 4785
      start: 4708
    functionDepth: 13
    functionLinenumber: 4708
    functionLinenumberEnd: 4785
    functionName: hpack_dec_field_indexed
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_assert
    - hpack_dec_number
    - dec_check_resize_pending
    - mhd_htbl_get_entry
    - memcpy
    - mhd_HPACK_DEC_RES_IS_ERR
    - mhd_UNREACHABLE
    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:4818,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4819,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4821,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4837,1
    - Dst: mhd_assert
      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:4842,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4847,1
    - Dst: mhd_h2_huffman_decode
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4855,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4870,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4873,1
    - Dst: mhd_assert
      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:4875,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4883,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4888,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: 4894
      start: 4804
    functionDepth: 2
    functionLinenumber: 4804
    functionLinenumberEnd: 4894
    functionName: hpack_dec_string_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_h2_huffman_decode
    - mhd_assert
    - hpack_dec_number
    - memcpy
    - mhd_UNREACHABLE
    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:4936,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4938,1
    - 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:4941,1
    - Dst: dec_check_resize_pending
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4945,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4946,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4961,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4977,1
    - Dst: mhd_assert
      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:4983,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4988,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4995,1
    - Dst: hpack_dec_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:4998,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5004,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5012,1
    - Dst: mhd_htbl_get_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5015,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5024,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5037,1
    - Dst: hpack_dec_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5038,1
    - Dst: mhd_HPACK_DEC_RES_IS_ERR
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5044,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5051,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: 5058
      start: 4919
    functionDepth: 13
    functionLinenumber: 4919
    functionLinenumberEnd: 5058
    functionName: hpack_dec_field_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_COND_HARDLY_EVER
    - mhd_dtbl_new_entry
    - mhd_assert
    - hpack_dec_string_literal
    - hpack_dec_number
    - dec_check_resize_pending
    - mhd_htbl_get_entry
    - memcpy
    - mhd_HPACK_DEC_RES_IS_ERR
    - mhd_UNREACHABLE
    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:5083,1
    - Dst: hpack_dec_number
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5085,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5101,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5104,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5109,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5113,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: 5120
      start: 5072
    functionDepth: 9
    functionLinenumber: 5072
    functionLinenumberEnd: 5120
    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:
    - hpack_dec_number
    - mhd_assert
    - mhd_dtbl_evict_to_size
    - mhd_UNREACHABLE
    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:5140,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5141,1
    - Dst: hpack_dec_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5156,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5169,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5180,1
    - Dst: hpack_dec_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5191,1
    - Dst: dec_update_dyn_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5203,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5210,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: 5212
      start: 5128
    functionDepth: 14
    functionLinenumber: 5128
    functionLinenumberEnd: 5212
    functionName: mhd_hpack_dec_data
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - dec_update_dyn_size
    - mhd_assert
    - hpack_dec_field_literal
    - hpack_dec_field_indexed
    - mhd_UNREACHABLE
    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:5241,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5243,1
    - Dst: mhd_BIT_WIDTH32NZ
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5251,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: 5252
      start: 5233
    functionDepth: 1
    functionLinenumber: 5233
    functionLinenumberEnd: 5252
    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:5279,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5286,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5287,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5288,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5289,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_COND_PREDOMINANTLY
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5300,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5306,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5311,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: 5314
      start: 5274
    functionDepth: 1
    functionLinenumber: 5274
    functionLinenumberEnd: 5314
    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_COND_PREDOMINANTLY
    - MHD_FN_PAR_DYN_ARR_SIZE_
    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:5321,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5326,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5318
    functionDepth: 9
    functionLinenumber: 5318
    functionLinenumberEnd: 5335
    functionName: mhd_hpack_enc_init
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_dtbl_get_table_max_size
    - mhd_assert
    - 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:5345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5339
    functionDepth: 9
    functionLinenumber: 5339
    functionLinenumberEnd: 5347
    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:5355,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: 5362
      start: 5351
    functionDepth: 1
    functionLinenumber: 5351
    functionLinenumberEnd: 5362
    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:5369,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5371,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5375,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5379,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5379,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5383,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5388
      start: 5366
    functionDepth: 12
    functionLinenumber: 5366
    functionLinenumberEnd: 5388
    functionName: mhd_hpack_enc_dyn_resize
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_dtbl_get_table_max_size
    - mhd_COND_HARDLY_EVER
    - mhd_dtbl_evict_to_size
    - mhd_assert
    - mhd_dtbl_resize
    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:5414,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5415,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5416,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5418,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: 5429
      start: 5404
    functionDepth: 1
    functionLinenumber: 5404
    functionLinenumberEnd: 5429
    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:5487,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5489,1
    - Dst: mhd_h2_huffman_est_avg_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5507,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5508,1
    - Dst: mhd_h2_huffman_est_min_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5516,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5517,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5527,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5528,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5530,1
    - Dst: mhd_h2_huffman_encode
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5539,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5547,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5553,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5558,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5563,1
    - Dst: hpack_number_len
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5565,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5570,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5575,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5580,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5584,1
    - Dst: memmove
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5585,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5611,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5620,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5622,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: 5628
      start: 5472
    functionDepth: 2
    functionLinenumber: 5472
    functionLinenumberEnd: 5628
    functionName: hpack_enc_string_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - hpack_number_len
    - mhd_assert
    - memmove
    - mhd_COND_ALMOST_NEVER
    - mhd_h2_huffman_est_avg_size
    - mhd_h2_huffman_est_min_size
    - memcpy
    - hpack_put_number_to_buf
    - mhd_h2_huffman_encode
    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:5691,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5711,1
    - Dst: mhd_htbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5718,1
    - Dst: mhd_stbl_find_name_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5722,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5724,1
    - Dst: mhd_dtbl_find_name
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5725,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5731,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5733,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5742,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5743,1
    - Dst: hpack_enc_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5761,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5772,1
    - Dst: hpack_enc_string_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5776,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5784,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: 5788
      start: 5666
    functionDepth: 3
    functionLinenumber: 5666
    functionLinenumberEnd: 5788
    functionName: hpack_enc_field_literal
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_htbl_find_name_real
    - mhd_assert
    - mhd_UNREACHABLE
    - mhd_COND_ALMOST_NEVER
    - mhd_dtbl_find_name
    - hpack_enc_string_literal
    - hpack_put_number_to_buf
    - mhd_stbl_find_name_real
    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:5844,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5845,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5846,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:5851,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5852,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5853,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:5858,1
    - Dst: mhd_htbl_find_entry_real
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5865,1
    - Dst: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5873,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5897,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5916,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5918,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5941,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5945,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5971,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5972,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5979,1
    - Dst: mhd_T_IS_MAYBE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5985,1
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5990,1
    - Dst: mhd_dtbl_get_num_entries
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5992,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:5994,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6004,1
    - Dst: mhd_UNREACHABLE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6046,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6050,1
    - Dst: mhd_T_IS_NOT_MAYBE
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6050,1
    - Dst: mhd_T_IS_YES
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6052,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6054,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6071,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: 6085
      start: 5835
    functionDepth: 4
    functionLinenumber: 5835
    functionLinenumberEnd: 6085
    functionName: hpack_enc_field
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_T_IS_YES
    - hpack_enc_field_indexed
    - mhd_T_IS_NOT_MAYBE
    - mhd_assert
    - mhd_UNREACHABLE
    - mhd_T_IS_MAYBE
    - hpack_enc_field_literal
    - mhd_dtbl_get_table_used
    - mhd_dtbl_get_num_entries
    - mhd_dtbl_check_entry_fit
    - mhd_htbl_find_entry_real
    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:6119,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6120,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6121,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6122,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6123,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6123,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6126,1
    - Dst: mhd_dtbl_evict_to_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6127,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6147,1
    - Dst: hpack_put_number_to_buf
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6166,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6178,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: 6181
      start: 6105
    functionDepth: 9
    functionLinenumber: 6105
    functionLinenumberEnd: 6181
    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_dtbl_get_table_max_size
    - mhd_assert
    - 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:6197,1
    - Dst: mhd_dtbl_get_table_used
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6197,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6199,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6201,1
    - Dst: mhd_dtbl_resize
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6201,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6205,1
    - Dst: mhd_dtbl_get_table_max_size
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hk_enc
    argTypes:
    - struct mhd_HpackEncContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6213
      start: 6194
    functionDepth: 12
    functionLinenumber: 6194
    functionLinenumberEnd: 6213
    functionName: hpack_enc_perform_dyn_size_update
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - mhd_dtbl_get_table_max_size
    - mhd_COND_HARDLY_EVER
    - mhd_assert
    - mhd_dtbl_resize
    - mhd_dtbl_get_table_used
    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:6232,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6233,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6234,1
    - Dst: hpack_enc_check_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6242,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6249,1
    - Dst: hpack_enc_field
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6252,1
    - Dst: hpack_enc_perform_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6266,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6271,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6277,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: 6281
      start: 6219
    functionDepth: 13
    functionLinenumber: 6219
    functionLinenumberEnd: 6281
    functionName: mhd_hpack_enc_field
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - mhd_dtbl_new_entry
    - mhd_assert
    - hpack_enc_field
    - hpack_enc_perform_dyn_size_update
    - hpack_enc_check_dyn_size_update
    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:6296,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - code_str
    argTypes:
    - uint_fast16_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6302
      start: 6292
    functionDepth: 1
    functionLinenumber: 6292
    functionLinenumberEnd: 6302
    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:6356,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6358,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:6364,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: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6412,1
    - Dst: status_to_str
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6426,1
    - Dst: mhd_dtbl_find_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6434,1
    - Dst: hpack_enc_field_indexed
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6442,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6464,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6484,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6486,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6502,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6503,1
    - Dst: mhd_dtbl_check_entry_fit
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6508,1
    - Dst: hpack_enc_field_literal
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6512,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: 6532
      start: 6336
    functionDepth: 4
    functionLinenumber: 6336
    functionLinenumberEnd: 6532
    functionName: hpack_enc_pf_status
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 0
    functionsReached:
    - hpack_enc_field_indexed
    - mhd_assert
    - mhd_dtbl_find_entry
    - hpack_enc_field_literal
    - status_to_str
    - mhd_dtbl_check_entry_fit
    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:6550,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6551,1
    - Dst: hpack_enc_check_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6559,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6566,1
    - Dst: hpack_enc_pf_status
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6569,1
    - Dst: hpack_enc_perform_dyn_size_update
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6583,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6589,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6590,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6591,1
    - Dst: mhd_dtbl_new_entry
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6592,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c:6599,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: 6603
      start: 6537
    functionDepth: 13
    functionLinenumber: 6537
    functionLinenumberEnd: 6603
    functionName: mhd_hpack_enc_ph_status
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/mhd_hpack_codec.c
    functionUses: 1
    functionsReached:
    - hpack_enc_pf_status
    - mhd_dtbl_new_entry
    - mhd_assert
    - hpack_enc_perform_dyn_size_update
    - hpack_enc_check_dyn_size_update
    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: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    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:653,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:654,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:657,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:659,1
    - Dst: mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:666,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_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:674,1
    - Dst: mhd_COND_PRED_FALSE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:679,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:690,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:693,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:695,1
    - Dst: mhd_PUT_UINTFAST32_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:698,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:699,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:702,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:705,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:707,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:711,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:712,1
    - Dst: mhd_COND_PRED_TRUE_P
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:714,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:723,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:724,1
    - Dst: mhd_COND_HARDLY_EVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:727,1
    - Dst: mhd_COND_ALMOST_NEVER
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:729,1
    - Dst: mhd_PUT_UINTFAST32_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:733,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:734,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:738,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: 741
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 741
    functionName: mhd_h2_huffman_encode
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 3
    functionsReached:
    - mhd_COND_PRED_TRUE_P
    - mhd_COND_HARDLY_EVER
    - mhd_GET_H2HUFF_CODE_AS_UINTFAST32_ALG
    - mhd_assert
    - mhd_COND_ALMOST_NEVER
    - mhd_PUT_UINTFAST32_BE
    - mhd_COND_PRED_FALSE_P
    - memcpy
    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: 775
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 775
    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: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    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: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    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: 799
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 799
    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:946,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:946,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:959,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:961,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:964,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:966,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:968,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:971,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:975,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:975,1
    - Dst: mhd_assert
      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:978,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:978,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:982,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:982,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:983,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: 987
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 987
    functionName: init_decode_table_entries_per_sym
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - HUFF_DTBL_SIZE
    - mhd_assert
    - HUFF_DTBL_ENTRIES
    - 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:1006,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1006,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: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1014,1
    - Dst: memset
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1016,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1018,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1026,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:1030,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1040,1
    - Dst: init_decode_table_entries_per_sym
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1042,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1056,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1058,1
    - Dst: HUFF_DTBL_ENTRIES
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1061,1
    - Dst: HUFF_DTBL_SIZE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1062,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1064,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: 1069
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1069
    functionName: init_decode_table
    functionSourceFile: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c
    functionUses: 0
    functionsReached:
    - memset
    - HUFF_DTBL_SIZE
    - mhd_assert
    - MHD_FN_PAR_DYN_ARR_SIZE_
    - HUFF_DTBL_ENTRIES
    - init_decode_table_entries_per_sym
    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: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
    - Dst: init_decode_table
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1088
    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:1145,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:1149,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1151,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1161,1
    - Dst: mhd_GET_64BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1162,1
    - Dst: memcpy
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1178,1
    - Dst: mhd_GET_64BIT_BE
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1179,1
    - Dst: mhd_HF_DEC64
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1196,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:1212,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1215,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1217,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1219,1
    - Dst: mhd_assert
      Src: /src/mhd2/src/mhd2/h2/hpack/h2_huffman_codec.c:1221,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: 1111
    functionDepth: 1
    functionLinenumber: 1111
    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_assert
    - mhd_COND_VERY_RARELY
    - HUFF_DTBL_ENTRIES
    - mhd_GET_64BIT_BE
    - HUFF_DTBL_START
    - mhd_HF_DEC64
    - mhd_COND_PRED_FALSE_P
    - memcpy
    - mhd_GET_32BIT_BE
    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:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: _
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    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: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: MHD_FN_PAR_OUT_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.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: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    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: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    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: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    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: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: MHD_FN_PAR_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 7
    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_FIX_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 7
    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: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 26
    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: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: MHD_FN_PAR_DYN_ARR_SIZE_
    functionSourceFile: /src/mhd2/src/incl_priv/mhd_sys_options.h
    functionUses: 26
    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: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    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: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    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: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    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: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    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: 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:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    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: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    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: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    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: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    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: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    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: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    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: 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: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    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: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    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: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    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: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    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: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    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: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    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: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    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: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    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: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    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: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    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: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    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: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    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: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    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: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    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: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    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: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    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: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    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: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    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: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    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: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    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: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    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: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    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: 393
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 393
    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: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    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: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    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: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    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: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    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: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    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: 506
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 506
    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: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    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: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    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: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    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_abort_request
    - MHD_request_get_info_dynamic
    - MHD_action_basic_auth_challenge_a
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    - 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: 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_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_destroy
    - MHD_daemon_start
    - printf
    - MHD_D_OPTION_WM_WORKER_THREADS
    - atoi
    - fgetc
    - fflush
    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_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_destroy
    - MHD_daemon_start
    - printf
    - MHD_D_OPTION_WM_WORKER_THREADS
    - atoi
    - fgetc
    - fflush
    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:
    - MHD_upload_action_from_response
    - MHD_response_from_buffer
    - strlen
    - JSON_INDENT
    - json_dumps
    - json_decref
    - json_loadb
    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_abort_request
    - MHD_action_from_response
    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:
    - FD_SET
    - malloc
    - free
    - 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: 2
    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
      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: 9
    functionLinenumber: 265
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/json_echo.c
    functionUses: 0
    functionsReached:
    - MHD_D_OPTION_REREGISTER_ALL
    - MHD_daemon_process_reg_events
    - MHD_R_OPTION_REUSABLE
    - MHD_daemon_destroy
    - MHD_response_from_buffer_static
    - MHD_D_OPTION_WM_EXTERNAL_EVENT_LOOP_CB_LEVEL
    - _kbhit
    - FD_ISSET
    - select
    - MHD_daemon_create
    - fprintf
    - MHD_DAEMON_SET_OPTIONS
    - MHD_daemon_event_update
    - mark_as_html
    - FD_SET
    - MHD_daemon_start
    - MHD_D_OPTION_DEFAULT_TIMEOUT
    - sscanf
    - MHD_response_destroy
    - strlen
    - MHD_D_OPTION_BIND_PORT
    - FD_ZERO
    - MHD_D_OPTION_FD_NUMBER_LIMIT
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - MHD_response_set_option
    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:
    - _open_osfhandle
    - CloseHandle
    - CreateFileA
    - GetTempFileNameA
    - strcpy
    - DeleteFileA
    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:
    - memcpy
    - strlen
    - malloc
    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: 2
    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:
    - exit
    - MHD_response_destroy
    - MHD_R_OPTION_REUSABLE
    - my_mutex_lock
    - my_mutex_unlock
    - MHD_response_set_option
    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:
    - realloc
    - S_ISREG
    - _findfirsti64
    - stat
    - _findnexti64
    - snprintf
    - _findclose
    - closedir
    - opendir
    - readdir
    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:
    - MHD_R_OPTION_CONN_CLOSE
    - malloc
    - strlen
    - MHD_response_from_buffer
    - mark_as_html
    - stat
    - free
    - snprintf
    - update_cached_response
    - list_directory
    - memcpy
    - MHD_response_set_option
    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:
    - fprintf
    - isprint
    - defined
    - MHD_upload_action_from_response
    - unlink
    - strlen
    - my_mkstemp
    - strchr
    - strstr
    - close
    - strcmp
    - my_strdup
    - MHD_upload_action_continue
    - write
    - strerror
    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:
    - fprintf
    - my_mkstemp
    - close
    - strcmp
    - my_strdup
    - write
    - 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:
    - fprintf
    - MHD_request_get_post_data_cb
    - MHD_upload_action_from_response
    - rename
    - update_directory
    - unlink
    - strerror
    - chmod
    - close
    - my_mutex_unlock
    - free
    - snprintf
    - my_mutex_lock
    - MHD_request_get_value
    - mkdir
    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: close
      Src: /src/mhd2/src/examples2/demo.c:1174,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/demo.c:1175,1
    - Dst: MHD_response_add_header
      Src: /src/mhd2/src/examples2/demo.c:1180,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1183,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1188,1
    - Dst: malloc
      Src: /src/mhd2/src/examples2/demo.c:1193,1
    - Dst: MHD_action_abort_request
      Src: /src/mhd2/src/examples2/demo.c:1195,1
    - Dst: memset
      Src: /src/mhd2/src/examples2/demo.c:1196,1
    - Dst: strcpy
      Src: /src/mhd2/src/examples2/demo.c:1199,1
    - Dst: MHD_action_parse_post
      Src: /src/mhd2/src/examples2/demo.c:1202,1
    - Dst: strcmp
      Src: /src/mhd2/src/examples2/demo.c:1213,1
    - Dst: my_mutex_lock
      Src: /src/mhd2/src/examples2/demo.c:1218,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1220,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1223,1
    - Dst: my_mutex_unlock
      Src: /src/mhd2/src/examples2/demo.c:1225,1
    - Dst: MHD_action_from_response
      Src: /src/mhd2/src/examples2/demo.c:1229,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    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: 1231
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1231
    functionName: generate_page
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - MHD_response_from_fd
    - my_mutex_unlock
    - strcmp
    - fstat
    - MHD_action_parse_post
    - my_S_ISREG
    - memset
    - lseek
    - strstr
    - strcpy
    - malloc
    - magic_buffer
    - my_mutex_lock
    - open
    - strrchr
    - MHD_action_abort_request
    - _WIN32
    - MHD_response_add_header
    - close
    - MHD_action_from_response
    - read
    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: 1245
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1245
    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:1258,1
    - Dst: sigaction
      Src: /src/mhd2/src/examples2/demo.c:1264,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1267,1
    - Dst: strerror
      Src: /src/mhd2/src/examples2/demo.c:1268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1269
    functionName: ignore_sigpipe
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 1
    functionsReached:
    - sigemptyset
    - strerror
    - sigaction
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ignore_sigpipe (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/mhd2/src/examples2/demo.c:1278,1
    - Dst: setlocale
      Src: /src/mhd2/src/examples2/demo.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1281
    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:1304,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1312,1
    - Dst: ignore_sigpipe
      Src: /src/mhd2/src/examples2/demo.c:1320,1
    - Dst: set_utf8_locale
      Src: /src/mhd2/src/examples2/demo.c:1323,1
    - Dst: magic_open
      Src: /src/mhd2/src/examples2/demo.c:1326,1
    - Dst: magic_load
      Src: /src/mhd2/src/examples2/demo.c:1327,1
    - Dst: my_mutex_init
      Src: /src/mhd2/src/examples2/demo.c:1330,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1332,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1334,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1336,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1338,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1339,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1342,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1344,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1346,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1348,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1349,1
    - Dst: MHD_response_from_buffer_static
      Src: /src/mhd2/src/examples2/demo.c:1352,1
    - Dst: strlen
      Src: /src/mhd2/src/examples2/demo.c:1354,1
    - Dst: mark_as_html
      Src: /src/mhd2/src/examples2/demo.c:1356,1
    - Dst: MHD_response_set_option
      Src: /src/mhd2/src/examples2/demo.c:1358,1
    - Dst: MHD_R_OPTION_REUSABLE
      Src: /src/mhd2/src/examples2/demo.c:1359,1
    - Dst: update_directory
      Src: /src/mhd2/src/examples2/demo.c:1361,1
    - Dst: MHD_daemon_create
      Src: /src/mhd2/src/examples2/demo.c:1362,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/demo.c:1367,1
    - Dst: MHD_D_OPTION_POLL_SYSCALL
      Src: /src/mhd2/src/examples2/demo.c:1369,1
    - Dst: MHD_D_OPTION_WM_WORKER_THREADS
      Src: /src/mhd2/src/examples2/demo.c:1370,1
    - Dst: MHD_D_OPTION_DEFAULT_TIMEOUT
      Src: /src/mhd2/src/examples2/demo.c:1371,1
    - Dst: MHD_D_OPTION_CONN_MEMORY_LIMIT
      Src: /src/mhd2/src/examples2/demo.c:1372,1
    - Dst: MHD_D_OPTION_BIND_PORT
      Src: /src/mhd2/src/examples2/demo.c:1373,1
    - Dst: MHD_DAEMON_SET_OPTIONS
      Src: /src/mhd2/src/examples2/demo.c:1378,1
    - Dst: MHD_D_OPTION_PER_IP_LIMIT
      Src: /src/mhd2/src/examples2/demo.c:1380,1
    - Dst: MHD_daemon_start
      Src: /src/mhd2/src/examples2/demo.c:1384,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/demo.c:1386,1
    - Dst: fprintf
      Src: /src/mhd2/src/examples2/demo.c:1389,1
    - Dst: getc
      Src: /src/mhd2/src/examples2/demo.c:1392,1
    - Dst: MHD_daemon_destroy
      Src: /src/mhd2/src/examples2/demo.c:1393,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1394,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1395,1
    - Dst: MHD_response_destroy
      Src: /src/mhd2/src/examples2/demo.c:1396,1
    - Dst: update_cached_response
      Src: /src/mhd2/src/examples2/demo.c:1397,1
    - Dst: my_mutex_destroy
      Src: /src/mhd2/src/examples2/demo.c:1398,1
    - Dst: magic_close
      Src: /src/mhd2/src/examples2/demo.c:1400,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1295
    functionDepth: 5
    functionLinenumber: 1295
    functionLinenumberEnd: 1403
    functionName: main
    functionSourceFile: /src/mhd2/src/examples2/demo.c
    functionUses: 0
    functionsReached:
    - magic_close
    - my_mutex_init
    - MHD_R_OPTION_REUSABLE
    - MHD_daemon_destroy
    - MHD_response_from_buffer_static
    - getc
    - my_mutex_destroy
    - ignore_sigpipe
    - update_directory
    - MHD_daemon_create
    - MHD_D_OPTION_PER_IP_LIMIT
    - magic_load
    - fprintf
    - MHD_DAEMON_SET_OPTIONS
    - mark_as_html
    - MHD_daemon_start
    - magic_open
    - update_cached_response
    - MHD_D_OPTION_DEFAULT_TIMEOUT
    - MHD_D_OPTION_POLL_SYSCALL
    - sscanf
    - MHD_response_destroy
    - set_utf8_locale
    - strlen
    - MHD_D_OPTION_BIND_PORT
    - MHD_D_OPTION_WM_WORKER_THREADS
    - MHD_D_OPTION_CONN_MEMORY_LIMIT
    - MHD_response_set_option
    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_action_abort_request
    - MHD_digest_auth_check
    - MHD_request_get_info_dynamic
    - MHD_action_digest_auth_challenge_a
    - MHD_response_from_buffer_static
    - MHD_action_from_response
    - 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_SET_OPTIONS
    - MHD_D_OPTION_BIND_PORT
    - MHD_daemon_destroy
    - MHD_daemon_start
    - printf
    - MHD_D_OPTION_RANDOM_ENTROPY
    - MHD_D_OPTION_WM_WORKER_THREADS
    - atoi
    - fgetc
    - init_entropy_bytes
    - fflush
    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:
    - fprintf
    - GetLastError
    - CryptReleaseContext
    - close
    - CryptAcquireContext
    - read
    - CryptGenRandom
    - open
    linkageType: ''
    returnType: int
    signature: int init_entropy_bytes (void)
Fuzzer filename: /src/fuzz_mhd2.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sys_sockets_types.h
- h2/h2_comm.h
- sys/sendfile.h
- mhd_lib_init.h
- tls_open_daemon_data.h
- mhd_public_api.h
- sha256_ext.h
- h2_action.h
- mhd_status_code_int.h
- mhd_request.h
- sys_w32_ver.h
- response_from.h
- ../mhd2/md5_ext_gnutls.c
- tls_gnu_funcs.h
- md5_ext.h
- mhd_lib_init_impl.h
- mhd_read_file.h
- sys/epoll.h
- fcntl.h
- mhd_rng.h
- features.h
- sys_sockets_headers.h
- sys_select.h
- sys/socket.h
- string.h
- winsock2.h
- h2_req_data.h
- h2/hpack/h2_huffman_codec.h
- mhd_postfield_int.h
- mhd_limits.h
- response_add_header.h
- h2_app_cb.h
- mhd_bool.h
- arpa/inet.h
- mhd_send.h
- conn_tls_check.h
- h2/h2_resp_data.h
- h2_req_item_kinds.h
- openssl/bio.h
- windows.h
- poll.h
- daemon_logger_default.h
- mhd_post_result.h
- http_prot_ver.h
- h2_proc_conn.h
- openssl/opensslv.h
- netinet/tcp.h
- vxCpuLib.h
- h2_req_get_items.h
- h2_frame_length.h
- h2_huffman_codec.h
- mach/clock.h
- sys/time.h
- mhd_http_layer_state.h
- daemon_add_conn.h
- h2_err_codes.h
- memory
- mhd_hpack_enc_types.h
- ../mhd2/md5_int.c
- machine/endian.h
- h2_req_fields.h
- cstdlib
- endian.h
- windef.h
- mhd_bithelpers.h
- mhd_stream.h
- response_funcs.h
- mhd_sys_options.h
- sys/random.h
- time.h
- cstring
- mach/mach.h
- hpack/mhd_hpack_enc_types.h
- curl/curl.h
- stdatomic.h
- ctype.h
- mhd_action.h
- intrin.h
- sys/stat.h
- sockLib.h
- mhd_socket_error.h
- mhd_tls_ver_stct.h
- sys/param.h
- request_funcs.h
- sys/uio.h
- tls_open_tls_lib.h
- mhd_cntnr_ptr.h
- mempool_funcs.h
- microhttpd.h
- microhttpd2_portability.h
- sys/select.h
- mhd_digest_auth_data.h
- mbedtls/ctr_drbg.h
- h2/h2_req_get_items.h
- cstdint
- sys_sizet_type.h
- daemon_options.h
- sys_null_macro.h
- h2_settings.h
- auth_basic.h
- mhd_hpack_dec_types.h
- sched.h
- sha512_256_int.h
- upgrade_proc.h
- tls_open_conn_data.h
- hpack/mhd_hpack_dec_types.h
- sys/byteorder.h
- stdlib.h
- gnutls/crypto.h
- openssl/pem.h
- netdb.h
- http_post_enc.h
- mhd_str_macros.h
- sys/cpuset.h
- events_process.h
- mhd_dlinked_list.h
- mhd_tls_choice.h
- inetLib.h
- microhttpd2.h
- sys/eventfd.h
- mhd_dbg_print.h
- mhd_unreachable.h
- mhd_tristate.h
- h2_comm.h
- openssl/ssl.h
- mhd_config.h
- mhd_align.h
- sys/un.h
- compat_calloc.h
- mach/mach_time.h
- mhdt_checks.h
- mbedtls/sha512.h
- mhd_helper.h
- tls_multi_conn_data.h
- mhd_assert.h
- io.h
- mhd_reply.h
- h2_req_items_funcs.h
- conn_data_process.h
- mhd_predict.h
- mhdt_has_in_name.h
- mhd_md5.h
- unordered_set
- mhd_socket_error_funcs.h
- netinet/in.h
- mbedtls/md5.h
- conn_data_send.h
- tls_multi_tls_lib.h
- mhd_conn_socket.h
- auth_digest.h
- mhd_iovec.h
- signal.h
- sys/_cpuset.h
- mhd_auth_digest_hdr.h
- openssl/opensslconf.h
- selectLib.h
- tls_multi_daemon_data.h
- jansson.h
- bcrypt.h
- sha256_int.h
- magic.h
- h2_huffman_est.h
- sys/endian.h
- ../mhd2/md5_ext_mbedtls.c
- winnt.h
- autoinit_funcs.h
- fuzzer/FuzzedDataProvider.h
- microhttpd_ws.h
- tls_multi_funcs.h
- conn_mark_ready.h
- response_set_options.h
- ../mhd2/mhd_md5.h
- mhdtl_str_to_uint.h
- dirent.h
- mhd_itc.h
- mhd_dcc_action.h
- h2_proc_in.h
- direct.h
- mhd_sha512_256.h
- mhd_panic.h
- gnutls/gnutls.h
- mhd_itc_types.h
- mhd_sockets_macros.h
- tls_open_funcs.h
- h2_proc_out.h
- mhd_str_types.h
- openssl/crypto.h
- tls_dh_params.h
- sys_bool_type.h
- mhdtl_get_cpu_count.h
- h2_proc_settings.h
- stream_funcs.h
- h2/h2_conn_data.h
- sys_errno.h
- mhd_lib_init_auto.h
- mbedtls/entropy.h
- assert.h
- daemon_logger.h
- tls_gnu_tls_lib.h
- h2_conn_data.h
- post_parser_funcs.h
- mempool_types.h
- h2_frame_codec.h
- mhd_sockets_funcs.h
- stdarg.h
- mhd_tls_enums.h
- mhd_mono_clock.h
- sys_ip_headers.h
- mbedtls/sha256.h
- mhd_socket_type.h
- errno.h
- sys_malloc.h
- conio.h
- stream_process_request.h
- unistd.h
- microhttpd2_generated_response_options.h
- mhdt_has_param.h
- hpack/mhd_hpack_codec.h
- openssl/rand.h
- h2_stream_data.h
- mhd_assume.h
- string
- extr_events_funcs.h
- response_options.h
- locale.h
- stddef.h
- mhd_sha256.h
- malloc.h
- mhd_response.h
- machine/param.h
- sys/machine.h
- mhd_arr_num_elems.h
- tls_gnu_conn_data.h
- mhd_comm_layer_state.h
- sys/mman.h
- crtdefs.h
- stream_process_states.h
- sys/types.h
- tls_gnu_daemon_data.h
- sys/wait.h
- mhd_post_parser.h
- mhd_constexpr.h
- request_auth_get.h
- inttypes.h
- mhd_locks.h
- mhd_recv.h
- h2/h2_stream_data.h
- stdbool.h
- h2_frame_init.h
- sys_poll.h
- upgrade_prep.h
- sdkddkver.h
- cstdarg
- wincrypt.h
- limits.h
- h2_req_item_struct.h
- http_method.h
- connection_helper.h
- openssl/err.h
- tls_test_keys.h
- sanitizer/asan_interface.h
- mhd_upgrade.h
- h2/hpack/mhd_hpack_codec.c
- h2_conn_streams.h
- h2/h2_action.h
- md5_int.h
- respond_with_error.h
- mhd_hpack_codec.h
- mutex
- microhttpd2_generated_daemon_options.h
- sys/isa_defs.h
- sha512_256_ext.h
- conn_data_recv.h
- openssl/conf.h
- mhd_buffer.h
- pthread_np.h
- mhd_connection.h
- sys_offsetof.h
- mhd_byteorder.h
- libtest.h
- daemon_funcs.h
- response_destroy.h
- h2_reply_funcs.h
- stdio.h
- synchapi.h
- h2_bit_masks.h
- mhd_tls_funcs.h
- sys_base_types.h
- response_auth_digest.h
- sys/sysctl.h
- http_status_str.h
- stdalign.h
- pthread.h
- ../mhd2/md5_ext_openssl.c
- mhd_str.h
- sys_thread_entry_type.h
- openssl/evp.h
- stream_process_reply.h
- mhd_threads.h
- mhd_atomic_counter.h
- request_get_value.h
- stdint.h
- process.h
- sys_file_fd.h
- h2_frame_types.h
- algorithm
- vector
- ws2tcpip.h
- mhd_daemon.h
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: BUF_STATIC
      - name: BUF_COPY
      - name: IOVEC
      - name: FROM_FD
      - 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: SMALL
      - name: PLUS1
      - 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: EQ
      - name: RANDOM
      - name: SMALL
      - name: PLUS1
      - 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_VERBOSE
        value: '2'
      - name: MHDT_VERB_LVL_BASIC
        value: '1'
      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_LE
      - name: MHDT_CMP_GE
      - name: MHDT_CMP_LT
      - name: MHDT_CMP_NE
      - 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: 422
        line_start: 416
        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: unsigned int
      - 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: 661
        line_start: 639
        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:
  - 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: finsig
        type: int
      item_type: struct
      name: ServerContext
      pos:
        line_end: 214
        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: 284
        line_start: 262
        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: 96
        line_start: 89
        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:
  - 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:
  - hex2bin
  - check_digest
  - main
  source_file: /src/mhd2/src/tests/unit/unit_md5.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*input'
        type: char
      - name: '*digest'
        type: char
      item_type: struct
      name: Test
      pos:
        line_end: 136
        line_start: 131
        source_file: /src/mhd2/src/tests/unit/unit_md5.c
    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:
  - 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:
  - 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_plain
        value: '1'
      - name: wr_tls
        value: '2'
      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_rclient_data
      - name: test_msg_vlarge_app_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_ONE_CHAR
      - name: PERF_RPL_PARAM_FULL_STR
      - 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_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: 57
        line_start: 55
        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: 63
        line_start: 62
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: extern
    - item_type: preproc_def
      name: MHD_EXTERN_
      pos:
        line_end: 65
        line_start: 64
        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: 103
        line_start: 102
        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: 115
        line_start: 114
        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: 116
        line_start: 115
        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: 117
        line_start: 116
        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: 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
      pos:
        line_end: 136
        line_start: 135
        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: 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
      pos:
        line_end: 141
        line_start: 140
        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: 143
        line_start: 142
        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: 146
        line_start: 145
        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_USE_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: 165
        line_start: 164
        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: 175
        line_start: 174
        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: 186
        line_start: 185
        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: 188
        line_start: 187
        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_USE_DESIGNATED_INIT
      pos:
        line_end: 197
        line_start: 196
        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: 199
        line_start: 198
        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: 202
        line_start: 201
        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: 215
        line_start: 214
        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: 223
        line_start: 222
        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: 231
        line_start: 230
        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: 233
        line_start: 232
        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: 244
        line_start: 243
        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: 246
        line_start: 245
        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_USE_VARARG_MACROS
      pos:
        line_end: 253
        line_start: 252
        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: 255
        line_start: 254
        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: 258
        line_start: 257
        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: 270
        line_start: 269
        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: 272
        line_start: 271
        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: 274
        line_start: 273
        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: 277
        line_start: 276
        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: 280
        line_start: 279
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: inline
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 293
        line_start: 292
        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_INLINE
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: MHD_INLINE
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __inline
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: restrict
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: restrict
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: MHD_RESTRICT
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __restrict
    - item_type: preproc_def
      name: MHD_WARN_PUSH_
      pos:
        line_end: 328
        line_start: 327
        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: 329
        line_start: 328
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: MHD_NOWARN_VARIADIC_MACROS_
      pos:
        line_end: 334
        line_start: 332
        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: 335
        line_start: 334
        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: 338
        line_start: 336
        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: 339
        line_start: 338
        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: 343
        line_start: 341
        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: 344
        line_start: 343
        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: 349
        line_start: 348
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: __extension__
    - item_type: preproc_def
      name: MHD_WARN_PUSH_
      pos:
        line_end: 353
        line_start: 352
        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: 354
        line_start: 353
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: MHD_NOWARN_VARIADIC_MACROS_
      pos:
        line_end: 361
        line_start: 357
        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: 362
        line_start: 361
        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: 365
        line_start: 363
        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: 366
        line_start: 365
        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: 370
        line_start: 368
        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: 371
        line_start: 370
        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: 375
        line_start: 373
        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: 376
        line_start: 375
        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: 379
        line_start: 377
        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: 380
        line_start: 379
        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: 383
        line_start: 381
        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: 384
        line_start: 383
        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: 387
        line_start: 386
        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: 388
        line_start: 387
        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: 391
        line_start: 389
        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: 392
        line_start: 391
        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: 395
        line_start: 393
        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: 396
        line_start: 395
        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: 403
        line_start: 402
        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: 405
        line_start: 404
        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: 442
        line_start: 441
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_STATIC_INLINE_
      pos:
        line_end: 461
        line_start: 460
        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: 465
        line_start: 464
        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: 473
        line_start: 472
        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: 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_FUNC_
      pos:
        line_end: 487
        line_start: 486
        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: 549
        line_start: 548
        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: 554
        line_start: 553
        source_file: /src/mhd2/src/include/microhttpd2_portability.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_FIXED_ENUM_
      pos:
        line_end: 562
        line_start: 561
        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: 568
        line_start: 567
        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: 581
        line_start: 580
        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: 586
        line_start: 585
        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: 591
        line_start: 590
        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: 596
        line_start: 595
        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: 606
        line_start: 605
        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: 611
        line_start: 610
        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: 621
        line_start: 620
        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: 626
        line_start: 625
        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: 646
        line_start: 645
        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: 664
        line_start: 663
        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: 666
        line_start: 665
        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: 677
        line_start: 676
        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: 688
        line_start: 687
        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: 711
        line_start: 710
        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_DEFAULT_TIMEOUT
  - 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_DEFAULT_TIMEOUT
  - 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: 390
        line_start: 376
        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: 409
        line_start: 395
        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: 431
        line_start: 414
        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: 449
        line_start: 436
        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: 474
        line_start: 454
        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: 491
        line_start: 479
        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: 508
        line_start: 496
        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: 525
        line_start: 513
        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: 542
        line_start: 530
        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: 559
        line_start: 547
        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: 576
        line_start: 564
        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: 593
        line_start: 581
        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: 610
        line_start: 598
        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: 875
        line_start: 864
        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: default_timeout
        type: unsigned int
      - 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: 861
        line_start: 615
        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_NONE
        value: '0'
      - name: MHD_WFA_REMOVE
        value: '3'
      - name: MHD_WFA_UPDATE
        value: '2'
      item_type: enum
      name: MHD_WatchedFdAction
      pos:
        line_end: 215
        line_start: 193
        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: 159
        line_start: 144
        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: 228
        line_start: 217
        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_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: 2562
        line_start: 2558
        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
        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_SENTINEL
        value: '65535'
      - name: MHD_DAEMON_INFO_FIXED_FD_NUMBER_LIMIT
        value: '283'
      - name: MHD_DAEMON_INFO_FIXED_CONN_MEMORY_LIMIT
        value: '280'
      item_type: enum
      name: MHD_DaemonInfoFixedType
      pos:
        line_end: 9520
        line_start: 9401
        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_HAS_CONNECTIONS
        value: '20'
      - name: MHD_DAEMON_INFO_DYNAMIC_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_DaemonInfoDynamicType
      pos:
        line_end: 9702
        line_start: 9671
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_CONNECTION_INFO_FIXED_CLIENT_ADDRESS
        value: '1'
      - name: MHD_CONNECTION_INFO_FIXED_DAEMON
        value: '20'
      - name: MHD_CONNECTION_INFO_FIXED_APP_CONTEXT
        value: '30'
      - name: MHD_CONNECTION_INFO_FIXED_CONNECTION_SOCKET
        value: '2'
      - name: MHD_CONNECTION_INFO_FIXED_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_ConnectionInfoFixedType
      pos:
        line_end: 9855
        line_start: 9800
        source_file: /src/mhd2/src/include/microhttpd2.h
    - enumerators:
      - name: MHD_CONNECTION_INFO_DYNAMIC_HTTP_VER
        value: '1'
      - name: MHD_CONNECTION_INFO_DYNAMIC_TLS_VER
        value: '105'
      - name: MHD_CONNECTION_INFO_DYNAMIC_CONNECTION_SUSPENDED
        value: '11'
      - name: MHD_CONNECTION_INFO_DYNAMIC_TLS_SESSION
        value: '140'
      - name: MHD_CONNECTION_INFO_DYNAMIC_CONNECTION_TIMEOUT
        value: '10'
      - name: MHD_CONNECTION_INFO_DYNAMIC_SENTINEL
        value: '65535'
      item_type: enum
      name: MHD_ConnectionInfoDynamicType
      pos:
        line_end: 10031
        line_start: 9969
        source_file: /src/mhd2/src/include/microhttpd2.h
    preproc_defs:
    - item_type: preproc_def
      name: MHD_C_DECLRATIONS_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_DECLRATIONS_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: 1873
        line_start: 1872
        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: 1890
        line_start: 1889
        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: 1892
        line_start: 1891
        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: 1894
        line_start: 1893
        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: 1896
        line_start: 1895
        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: 1898
        line_start: 1897
        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: 1900
        line_start: 1899
        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: 1902
        line_start: 1901
        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: 1904
        line_start: 1903
        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: 1906
        line_start: 1905
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: MHD_HTTP_METHOD_STR_ACL
      pos:
        line_end: 1910
        line_start: 1909
        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: 1912
        line_start: 1911
        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: 1914
        line_start: 1913
        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: 1916
        line_start: 1915
        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: 1918
        line_start: 1917
        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: 1920
        line_start: 1919
        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: 1922
        line_start: 1921
        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: 1924
        line_start: 1923
        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: 1926
        line_start: 1925
        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: 1928
        line_start: 1927
        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: 1930
        line_start: 1929
        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: 1932
        line_start: 1931
        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: 1934
        line_start: 1933
        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: 1936
        line_start: 1935
        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: 1938
        line_start: 1937
        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: 1940
        line_start: 1939
        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: 1942
        line_start: 1941
        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: 1944
        line_start: 1943
        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: 1946
        line_start: 1945
        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: 1948
        line_start: 1947
        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: 1950
        line_start: 1949
        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: 1952
        line_start: 1951
        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: 1954
        line_start: 1953
        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: 1956
        line_start: 1955
        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: 1958
        line_start: 1957
        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: 1960
        line_start: 1959
        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: 1962
        line_start: 1961
        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: 1964
        line_start: 1963
        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: 1966
        line_start: 1965
        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: 1968
        line_start: 1967
        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: 1970
        line_start: 1969
        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: 2018
        line_start: 2017
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ACCEPT
      pos:
        line_end: 2034
        line_start: 2033
        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: 2036
        line_start: 2035
        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: 2038
        line_start: 2037
        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: 2040
        line_start: 2039
        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: 2042
        line_start: 2041
        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: 2044
        line_start: 2043
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Age"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ALLOW
      pos:
        line_end: 2046
        line_start: 2045
        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: 2048
        line_start: 2047
        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: 2050
        line_start: 2049
        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: 2052
        line_start: 2051
        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: 2054
        line_start: 2053
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Close"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_CONNECTION
      pos:
        line_end: 2056
        line_start: 2055
        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: 2058
        line_start: 2057
        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: 2060
        line_start: 2059
        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: 2062
        line_start: 2061
        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: 2064
        line_start: 2063
        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: 2066
        line_start: 2065
        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: 2068
        line_start: 2067
        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: 2070
        line_start: 2069
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Date"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_ETAG
      pos:
        line_end: 2072
        line_start: 2071
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ETag"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXPECT
      pos:
        line_end: 2074
        line_start: 2073
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Expect"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXPIRES
      pos:
        line_end: 2076
        line_start: 2075
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Expires"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_FROM
      pos:
        line_end: 2078
        line_start: 2077
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"From"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_HOST
      pos:
        line_end: 2080
        line_start: 2079
        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: 2082
        line_start: 2081
        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: 2084
        line_start: 2083
        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: 2086
        line_start: 2085
        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: 2088
        line_start: 2087
        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: 2090
        line_start: 2089
        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: 2092
        line_start: 2091
        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: 2094
        line_start: 2093
        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: 2096
        line_start: 2095
        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: 2098
        line_start: 2097
        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: 2100
        line_start: 2099
        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: 2102
        line_start: 2101
        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: 2104
        line_start: 2103
        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: 2106
        line_start: 2105
        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: 2108
        line_start: 2107
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Range"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_REFERER
      pos:
        line_end: 2110
        line_start: 2109
        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: 2112
        line_start: 2111
        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: 2114
        line_start: 2113
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Server"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TE
      pos:
        line_end: 2116
        line_start: 2115
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TE"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRAILER
      pos:
        line_end: 2118
        line_start: 2117
        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: 2120
        line_start: 2119
        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: 2122
        line_start: 2121
        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: 2124
        line_start: 2123
        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: 2126
        line_start: 2125
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Vary"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_VIA
      pos:
        line_end: 2128
        line_start: 2127
        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: 2130
        line_start: 2129
        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: 2132
        line_start: 2131
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_A_IM
      pos:
        line_end: 2136
        line_start: 2135
        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: 2138
        line_start: 2137
        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: 2140
        line_start: 2139
        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: 2142
        line_start: 2141
        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: 2144
        line_start: 2143
        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: 2146
        line_start: 2145
        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: 2148
        line_start: 2147
        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: 2150
        line_start: 2149
        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: 2153
        line_start: 2151
        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: 2156
        line_start: 2154
        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: 2159
        line_start: 2157
        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: 2162
        line_start: 2160
        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: 2165
        line_start: 2163
        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: 2167
        line_start: 2166
        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: 2170
        line_start: 2168
        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: 2173
        line_start: 2171
        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: 2175
        line_start: 2174
        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: 2177
        line_start: 2176
        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: 2179
        line_start: 2178
        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: 2181
        line_start: 2180
        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: 2183
        line_start: 2182
        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: 2185
        line_start: 2184
        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: 2187
        line_start: 2186
        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: 2189
        line_start: 2188
        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: 2191
        line_start: 2190
        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: 2193
        line_start: 2192
        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: 2195
        line_start: 2194
        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: 2197
        line_start: 2196
        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: 2199
        line_start: 2198
        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: 2201
        line_start: 2200
        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: 2203
        line_start: 2202
        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: 2205
        line_start: 2204
        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: 2207
        line_start: 2206
        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: 2209
        line_start: 2208
        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: 2211
        line_start: 2210
        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: 2213
        line_start: 2212
        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: 2215
        line_start: 2214
        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: 2218
        line_start: 2216
        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: 2220
        line_start: 2219
        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: 2223
        line_start: 2221
        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: 2226
        line_start: 2224
        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: 2228
        line_start: 2227
        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: 2231
        line_start: 2229
        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: 2234
        line_start: 2232
        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: 2236
        line_start: 2235
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"DASL"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DAV
      pos:
        line_end: 2238
        line_start: 2237
        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: 2240
        line_start: 2239
        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: 2242
        line_start: 2241
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Depth"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_DESTINATION
      pos:
        line_end: 2244
        line_start: 2243
        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: 2246
        line_start: 2245
        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: 2248
        line_start: 2247
        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: 2250
        line_start: 2249
        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: 2252
        line_start: 2251
        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: 2254
        line_start: 2253
        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: 2256
        line_start: 2255
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Forwarded"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_HOBAREG
      pos:
        line_end: 2258
        line_start: 2257
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Hobareg"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_IF
      pos:
        line_end: 2260
        line_start: 2259
        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: 2262
        line_start: 2261
        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: 2264
        line_start: 2263
        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: 2267
        line_start: 2265
        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: 2269
        line_start: 2268
        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: 2271
        line_start: 2270
        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: 2273
        line_start: 2272
        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: 2275
        line_start: 2274
        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: 2277
        line_start: 2276
        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: 2279
        line_start: 2278
        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: 2281
        line_start: 2280
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Meter"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_NEGOTIATE
      pos:
        line_end: 2283
        line_start: 2282
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Negotiate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_NEL
      pos:
        line_end: 2285
        line_start: 2284
        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: 2287
        line_start: 2286
        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: 2289
        line_start: 2288
        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: 2291
        line_start: 2290
        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: 2293
        line_start: 2292
        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: 2295
        line_start: 2294
        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: 2297
        line_start: 2296
        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: 2299
        line_start: 2298
        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: 2301
        line_start: 2300
        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: 2303
        line_start: 2302
        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: 2305
        line_start: 2304
        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: 2307
        line_start: 2306
        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: 2309
        line_start: 2308
        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: 2311
        line_start: 2310
        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: 2313
        line_start: 2312
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Position"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PREFER
      pos:
        line_end: 2315
        line_start: 2314
        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: 2317
        line_start: 2316
        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: 2319
        line_start: 2318
        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: 2321
        line_start: 2320
        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: 2323
        line_start: 2322
        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: 2326
        line_start: 2324
        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: 2328
        line_start: 2327
        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: 2330
        line_start: 2329
        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: 2332
        line_start: 2331
        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: 2334
        line_start: 2333
        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: 2336
        line_start: 2335
        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: 2338
        line_start: 2337
        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: 2340
        line_start: 2339
        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: 2342
        line_start: 2341
        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: 2344
        line_start: 2343
        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: 2346
        line_start: 2345
        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: 2348
        line_start: 2347
        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: 2350
        line_start: 2349
        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: 2352
        line_start: 2351
        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: 2354
        line_start: 2353
        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: 2356
        line_start: 2355
        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: 2358
        line_start: 2357
        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: 2360
        line_start: 2359
        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: 2362
        line_start: 2361
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SLUG"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SOAPACTION
      pos:
        line_end: 2364
        line_start: 2363
        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: 2366
        line_start: 2365
        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: 2368
        line_start: 2367
        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: 2370
        line_start: 2369
        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: 2372
        line_start: 2371
        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: 2374
        line_start: 2373
        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: 2376
        line_start: 2375
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TCN"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TIMEOUT
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Timeout"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TOPIC
      pos:
        line_end: 2380
        line_start: 2379
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Topic"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRACEPARENT
      pos:
        line_end: 2382
        line_start: 2381
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Traceparent"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TRACESTATE
      pos:
        line_end: 2384
        line_start: 2383
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Tracestate"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TTL
      pos:
        line_end: 2386
        line_start: 2385
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"TTL"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_URGENCY
      pos:
        line_end: 2388
        line_start: 2387
        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: 2390
        line_start: 2389
        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: 2392
        line_start: 2391
        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: 2394
        line_start: 2393
        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: 2396
        line_start: 2395
        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: 2398
        line_start: 2397
        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: 2400
        line_start: 2399
        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: 2402
        line_start: 2401
        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: 2404
        line_start: 2403
        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: 2406
        line_start: 2405
        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: 2408
        line_start: 2407
        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: 2410
        line_start: 2409
        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: 2412
        line_start: 2411
        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: 2414
        line_start: 2413
        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: 2416
        line_start: 2415
        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: 2418
        line_start: 2417
        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: 2420
        line_start: 2419
        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: 2422
        line_start: 2421
        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: 2424
        line_start: 2423
        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: 2426
        line_start: 2425
        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: 2428
        line_start: 2427
        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: 2430
        line_start: 2429
        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: 2432
        line_start: 2431
        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: 2434
        line_start: 2433
        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: 2436
        line_start: 2435
        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: 2438
        line_start: 2437
        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: 2440
        line_start: 2439
        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: 2442
        line_start: 2441
        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: 2444
        line_start: 2443
        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: 2446
        line_start: 2445
        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: 2448
        line_start: 2447
        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: 2450
        line_start: 2449
        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: 2452
        line_start: 2451
        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: 2454
        line_start: 2453
        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: 2456
        line_start: 2455
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Digest"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_EXT
      pos:
        line_end: 2458
        line_start: 2457
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Ext"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_GETPROFILE
      pos:
        line_end: 2460
        line_start: 2459
        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: 2462
        line_start: 2461
        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: 2464
        line_start: 2463
        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: 2466
        line_start: 2465
        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: 2468
        line_start: 2467
        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: 2470
        line_start: 2469
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Opt"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_P3P
      pos:
        line_end: 2472
        line_start: 2471
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"P3P"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PEP
      pos:
        line_end: 2474
        line_start: 2473
        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: 2476
        line_start: 2475
        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: 2478
        line_start: 2477
        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: 2480
        line_start: 2479
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"ProfileObject"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_PROTOCOL
      pos:
        line_end: 2482
        line_start: 2481
        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: 2484
        line_start: 2483
        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: 2486
        line_start: 2485
        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: 2488
        line_start: 2487
        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: 2490
        line_start: 2489
        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: 2492
        line_start: 2491
        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: 2494
        line_start: 2493
        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: 2496
        line_start: 2495
        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: 2498
        line_start: 2497
        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: 2500
        line_start: 2499
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SetProfile"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_URI
      pos:
        line_end: 2502
        line_start: 2501
        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: 2504
        line_start: 2503
        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: 2506
        line_start: 2505
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Warning"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_COMPLIANCE
      pos:
        line_end: 2510
        line_start: 2509
        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: 2512
        line_start: 2511
        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: 2514
        line_start: 2513
        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: 2516
        line_start: 2515
        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: 2518
        line_start: 2517
        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: 2520
        line_start: 2519
        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: 2522
        line_start: 2521
        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: 2524
        line_start: 2523
        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: 2526
        line_start: 2525
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"SubOK"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_SUBST
      pos:
        line_end: 2528
        line_start: 2527
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"Subst"'
    - item_type: preproc_def
      name: MHD_HTTP_HEADER_TITLE
      pos:
        line_end: 2530
        line_start: 2529
        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: 2532
        line_start: 2531
        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: 2534
        line_start: 2533
        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: 2536
        line_start: 2535
        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: 2538
        line_start: 2537
        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: 2540
        line_start: 2539
        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: 2542
        line_start: 2541
        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: 2544
        line_start: 2543
        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: 2546
        line_start: 2545
        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: 2548
        line_start: 2547
        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: 2550
        line_start: 2549
        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: 2552
        line_start: 2551
        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: 2847
        line_start: 2846
        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: 5797
        line_start: 5796
        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: 5815
        line_start: 5814
        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: 5819
        line_start: 5818
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/1.1"'
    - item_type: preproc_def
      name: MHD_HTTP_VERSION_2_STR
      pos:
        line_end: 5825
        line_start: 5824
        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: 5830
        line_start: 5829
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '"HTTP/3"'
    - item_type: preproc_def
      name: MHD_FREECALLBACK_DEFINED
      pos:
        line_end: 6057
        line_start: 6056
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_DYNCONTENTZCIOVEC_DEFINED
      pos:
        line_end: 6088
        line_start: 6087
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPLOADCALLBACK_DEFINED
      pos:
        line_end: 6633
        line_start: 6632
        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: 6787
        line_start: 6786
        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: 6859
        line_start: 6858
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_POSTFILED_DEFINED
      pos:
        line_end: 6961
        line_start: 6960
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_UPGRADEHANDLER_DEFINED
      pos:
        line_end: 7063
        line_start: 7062
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_MD5_DIGEST_SIZE
      pos:
        line_end: 7263
        line_start: 7262
        source_file: /src/mhd2/src/include/microhttpd2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MHD_SHA256_DIGEST_SIZE
      pos:
        line_end: 7270
        line_start: 7269
        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: 7279
        line_start: 7278
        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: 7317
        line_start: 7316
        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: 7323
        line_start: 7322
        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: 3028
        line_start: 3018
        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: 3071
        line_start: 3061
        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: 3813
        line_start: 3795
        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: 3902
        line_start: 3881
        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: 3948
        line_start: 3942
        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: 3978
        line_start: 3964
        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: 4124
        line_start: 4109
        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: 5132
        line_start: 5128
        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: 5163
        line_start: 5153
        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: 5409
        line_start: 5395
        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: 5424
        line_start: 5414
        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: 5871
        line_start: 5857
        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: 6085
        line_start: 6065
        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: 6380
        line_start: 6369
        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: 6958
        line_start: 6924
        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: 7896
        line_start: 7802
        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: 8658
        line_start: 8646
        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
      item_type: struct
      name: MHD_LibInfoFixedPollingFunc
      pos:
        line_end: 8985
        line_start: 8971
        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
      item_type: struct
      name: MHD_LibInfoTLSType
      pos:
        line_end: 9060
        line_start: 9045
        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: 9871
        line_start: 9860
        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: 2606
        line_start: 2600
        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: 2878
        line_start: 2871
        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: 3341
        line_start: 3335
        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: 3760
        line_start: 3755
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: void
    - item_type: typedef
      name: (*MHD_DaemonReadyCallback)(void *cls)
      pos:
        line_end: 3774
        line_start: 3773
        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: 3789
        line_start: 3786
        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: 3840
        line_start: 3836
        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: 3917
        line_start: 3914
        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: 3996
        line_start: 3992
        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: 4144
        line_start: 4141
        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: 5449
        line_start: 5445
        source_file: /src/mhd2/src/include/microhttpd2.h
      type: MHD_Bool
    - item_type: typedef
      name: (*MHD_FreeCallback) (void *free_cls)
      pos:
        line_end: 6054
        line_start: 6053
        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: 6266
        line_start: 6260
        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: 6630
        line_start: 6625
        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: 6841
        line_start: 6829
        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: 6856
        line_start: 6852
        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: 6982
        line_start: 6979
        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: 7060
        line_start: 7056
        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: 10900
        line_start: 10895
        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: 3049
        line_start: 3033
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: reserved1
        type: int
      item_type: union
      name: MHD_ConnectionNotificationDetails
      pos:
        line_end: 3875
        line_start: 3869
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: started
        type: struct MHD_StreamNotificationDetailStarted
      item_type: union
      name: MHD_StreamNotificationDetail
      pos:
        line_end: 3959
        line_start: 3953
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: '*reserved'
        type: void
      item_type: union
      name: MHD_RequestEndedDetail
      pos:
        line_end: 4104
        line_start: 4097
        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: 5148
        line_start: 5138
        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: 9191
        line_start: 9065
        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: 9355
        line_start: 9332
        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_uint
        type: unsigned int
      - 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: 9594
        line_start: 9526
        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: 9726
        line_start: 9708
        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: 9898
        line_start: 9876
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields: []
      item_type: union
      name: MHD_ConnInfoDynamicTlsSess
      pos:
        line_end: 10104
        line_start: 10082
        source_file: /src/mhd2/src/include/microhttpd2.h
    - fields:
      - name: v_http_ver
        type: enum MHD_HTTP_ProtocolVersion
      - name: v_connection_timeout_uint
        type: unsigned int
      - 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: 10137
        line_start: 10109
        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: 10257
        line_start: 10247
        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: 10343
        line_start: 10337
        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: 10494
        line_start: 10462
        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: 10784
        line_start: 10707
        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: []
  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:
  - mhd_SHA512_256_init
  - sha512_256_transform
  - Ch
  - Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP64
  - GET_W_FROM_DATA
  - Wgen
  - SHA2STEP64RV
  - mhd_SHA512_256_update
  - mhd_SHA512_256_finish
  source_file: /src/mhd2/src/mhd2/sha512_256_int.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/mhd2/src/mhd2/sha512_256_int.c
      type_or_value: '128'
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/mhd2/src/mhd2/sha512_256_int.c
      type_or_value: (SHA512_256_SIZE_OF_LEN_ADD_BITS / 8)
    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: 79
        line_start: 65
        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: 95
        line_start: 84
        source_file: /src/mhd2/src/mhd2/tls_multi_daemon_data.h
    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: 10
        line_start: 9
        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: default_timeout
        type: unsigned int
      - 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: 302
        line_start: 14
        source_file: /src/mhd2/src/mhd2/daemon_options.h
    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: 215
        line_start: 214
        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_MD5_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_update
  - mhd_MD5_finish
  source_file: /src/mhd2/src/mhd2/md5_int.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/mhd2/src/mhd2/md5_int.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MD5_SIZE_OF_LEN_ADD
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/mhd2/src/mhd2/md5_int.c
      type_or_value: (MD5_SIZE_OF_LEN_ADD_BITS / 8)
    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_ERRS
  - mhd_tls_open_global_init_once
  - mhd_tls_open_is_inited_fine
  - check_app_tls_sessings
  - null_passwd_cb
  - 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_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_send
  - 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: 79
        line_start: 77
        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: 80
        line_start: 79
        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: 368
        line_start: 366
        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: 370
        line_start: 368
        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: 373
        line_start: 371
        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: 377
        line_start: 375
        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:
  - init512_256
  - mhd_SHA512_256_init_one_time
  - mhd_SHA512_256_update
  - mhd_SHA512_256_finish_reset
  - mhd_SHA512_256_deinit
  source_file: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha512_256_ext_mbedtls.c
      type_or_value: mbedtls_sha512_context
    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_IOVEC
      - name: mhd_RESPONSE_CONTENT_DATA_BUFFER
      - 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_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_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'
    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: []
  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: 112
        line_start: 88
        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: 133
        line_start: 117
        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: 153
        line_start: 139
        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: 184
        line_start: 158
        source_file: /src/mhd2/src/mhd2/mhd_conn_socket.h
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_init_one_time
  - mhd_SHA256_update
  - mhd_SHA256_finish_reset
  - mhd_SHA256_deinit
  source_file: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_Context
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mhd2/src/mhd2/sha256_ext_gnutls.c
      type_or_value: struct hash_hd_st
    structs: []
    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_init_one_time
  - mhd_SHA512_256_deinit
  - mhd_SHA512_256_reset
  - mhd_SHA512_256_finish_reset
  - mhd_SHA512_256_finish_deinit
  - mhd_SHA512_256_reset
  - mhd_SHA512_256_finish_deinit
  - mhd_SHA512_256_has_err
  - mhd_SHA512_256_has_err
  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: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_Sha512_256Ctx
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: mhd_Sha512_256CtxInt
    - item_type: preproc_def
      name: mhd_Sha512_256Ctx
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_sha512_256.h
      type_or_value: mhd_Sha512_256CtxExt
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mhd2/src/mhd2/md5_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_INT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/md5_int.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_int.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_int.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_int.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_int.h
      type_or_value: mhd_MD5_HASH_SIZE_WORDS
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/md5_int.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: 83
        line_start: 82
        source_file: /src/mhd2/src/mhd2/md5_int.h
      type_or_value: '512'
    - item_type: preproc_def
      name: mhd_MD5_BLOCK_SIZE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/md5_int.h
      type_or_value: (mhd_MD5_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_MD5_BLOCK_SIZE_WORDS
      pos:
        line_end: 94
        line_start: 92
        source_file: /src/mhd2/src/mhd2/md5_int.h
      type_or_value: (mhd_MD5_BLOCK_SIZE_BITS / mhd_MD5_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_MD5_HAS_FINISH
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/mhd2/src/mhd2/md5_int.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_Md5CtxInt
      pos:
        line_end: 104
        line_start: 99
        source_file: /src/mhd2/src/mhd2/md5_int.h
    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_SHA256_init
  - sha256_transform
  - Ch
  - Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP32
  - GET_W_FROM_DATA
  - Wgen
  - SHA2STEP32RV
  - mhd_SHA256_update
  - mhd_SHA256_finish
  source_file: /src/mhd2/src/mhd2/sha256_int.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_SIZE_OF_LEN_ADD
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/mhd2/src/mhd2/sha256_int.c
      type_or_value: (64 / 8)
    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
  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: []
  source_file: /src/mhd2/src/mhd2/md5_ext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_EXT_H
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: (16)
    - item_type: preproc_def
      name: MHD_MD5_Context
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: void
    - item_type: preproc_def
      name: mhd_MD5_HAS_EXT_ERROR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_HAS_INIT_ONE_TIME
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_HAS_FINISH_RESET
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_HAS_DEINIT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/mhd2/src/mhd2/md5_ext.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*handle'
        type: MHD_MD5_Context
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Md5CtxExt
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/mhd2/src/mhd2/md5_ext.h
    typedefs: []
    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:
  - '(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_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_EPOLL
  - 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_IS_USING_EDGE_TRIG
  - 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: 270
        line_start: 269
        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: 272
        line_start: 271
        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: 274
        line_start: 273
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type_or_value: (mhd_SOCKET_REL_MARKER_ITC - 1)
    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: 312
        line_start: 298
        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: 341
        line_start: 322
        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
      item_type: struct
      name: mhd_DaemonEventsEPollData
      pos:
        line_end: 365
        line_start: 350
        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: 383
        line_start: 373
        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: 409
        line_start: 390
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: '*app_cntx'
        type: void
      item_type: struct
      name: mhd_DaemonEventsExternalDaemonListenData
      pos:
        line_end: 421
        line_start: 415
        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: 451
        line_start: 426
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: resume
        type: bool
      item_type: struct
      name: mhd_DaemonEventActionRequired
      pos:
        line_end: 500
        line_start: 492
        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
      item_type: struct
      name: mhd_DaemonEventMonitoringData
      pos:
        line_end: 535
        line_start: 506
        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: 593
        line_start: 567
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields: []
      item_type: struct
      name: mhd_DaemonNetworkSettings
      pos:
        line_end: 609
        line_start: 598
        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: 638
        line_start: 620
        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: 670
        line_start: 645
        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: 691
        line_start: 675
        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: 726
        line_start: 696
        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: 862
        line_start: 851
        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: 892
        line_start: 885
        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: 933
        line_start: 897
        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_ms
        type: uint_fast64_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: 966
        line_start: 940
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields: []
      item_type: struct
      name: mhd_DaemonConnectionsUpgraded
      pos:
        line_end: 987
        line_start: 973
        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: 1038
        line_start: 994
        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: 1053
        line_start: 1043
        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: 1071
        line_start: 1058
        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: 1090
        line_start: 1080
        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: 1136
        line_start: 1097
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    - fields:
      - name: net_inited
        type: bool
      - name: net_deinited
        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: 1165
        line_start: 1152
        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: 1274
        line_start: 1169
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
    typedefs:
    - item_type: typedef
      name: mhd_SockRelMarker
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
      type: uintptr_t
    - item_type: typedef
      name: '*mhd_SockRelMarker'
      pos:
        line_end: 265
        line_start: 265
        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: 290
        line_start: 277
        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: 486
        line_start: 456
        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: 880
        line_start: 867
        source_file: /src/mhd2/src/mhd2/mhd_daemon.h
- 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
  - parse_http_version
  - 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_NO_MEMORY
        value: '0'
      - name: MHD_PARSE_COOKIE_OK
        value: '1'
      - name: MHD_PARSE_COOKIE_MALFORMED
        value: '-1'
      item_type: enum
      name: mhd_ParseCookie
      pos:
        line_end: 2313
        line_start: 2304
        source_file: /src/mhd2/src/mhd2/stream_process_request.c
    preproc_defs:
    - item_type: preproc_def
      name: ERR_RSP_REQUEST_MALFORMED
      pos:
        line_end: 99
        line_start: 96
        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: 108
        line_start: 103
        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: 115
        line_start: 111
        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: 126
        line_start: 120
        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: 137
        line_start: 131
        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: 148
        line_start: 142
        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: 158
        line_start: 152
        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: 167
        line_start: 162
        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: 177
        line_start: 171
        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: 186
        line_start: 181
        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: 195
        line_start: 190
        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: 204
        line_start: 199
        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: 213
        line_start: 208
        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: 223
        line_start: 217
        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: 234
        line_start: 228
        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: 245
        line_start: 239
        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: 256
        line_start: 250
        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: 264
        line_start: 259
        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: 273
        line_start: 268
        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: 282
        line_start: 277
        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: 291
        line_start: 286
        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: 304
        line_start: 295
        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: 318
        line_start: 308
        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: 329
        line_start: 323
        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: 343
        line_start: 333
        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: 358
        line_start: 348
        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: 368
        line_start: 363
        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: 379
        line_start: 372
        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_UNSUPPORTED_TR_ENCODING
      pos:
        line_end: 388
        line_start: 383
        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: 398
        line_start: 392
        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: 409
        line_start: 403
        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: 417
        line_start: 413
        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: 426
        line_start: 422
        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: 435
        line_start: 431
        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: 443
        line_start: 440
        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: 451
        line_start: 447
        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: 462
        line_start: 461
        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: 467
        line_start: 466
        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: 640
        line_start: 639
        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: 1389
        line_start: 1388
        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:
  - 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_send_plain
  - 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: 98
        line_start: 97
        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: 106
        line_start: 105
        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: 114
        line_start: 113
        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: 119
        line_start: 118
        source_file: /src/mhd2/src/mhd2/mhd_send.c
      type_or_value: (0x200000)
    - item_type: preproc_def
      name: mhd_IOV_MAX
      pos:
        line_end: 190
        line_start: 189
        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: 198
        line_start: 197
        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: 1182
        line_start: 1181
        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: 1184
        line_start: 1183
        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
  - MHD_response_from_buffer
  - response_cntn_free_buf
  - MHD_response_from_buffer_copy
  - MHD_response_from_iovec
  - 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: []
  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: unsigned int
      - name: is_tls_handshake_completed
        type: unsigned int
      - name: is_failed
        type: unsigned int
      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_init_one_time
  - mhd_MD5_reset
  - mhd_MD5_finish_reset
  - mhd_MD5_finish_deinit
  - mhd_MD5_reset
  - mhd_MD5_finish_deinit
  - mhd_MD5_deinit
  - mhd_MD5_has_err
  - mhd_MD5_has_err
  source_file: /src/mhd2/src/mhd2/mhd_md5.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_MD5_DIGEST_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: (16)
    - item_type: preproc_def
      name: mhd_Md5Ctx
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: mhd_Md5CtxInt
    - item_type: preproc_def
      name: mhd_Md5Ctx
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_md5.h
      type_or_value: mhd_Md5CtxExt
    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_tls_gnu_global_init
  - mhd_tls_gnu_global_deinit
  - mhd_tls_gnu_is_inited_fine
  - check_app_tls_sessings
  - daemon_init_dh_data
  - daemon_deinit_dh_data
  - daemon_init_credentials
  - daemon_deinit_credentials
  - 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_send
  - 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: 583
        line_start: 582
        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_SHA256_init_one_time
  - mhd_SHA256_update
  - mhd_SHA256_finish_reset
  - mhd_SHA256_deinit
  source_file: /src/mhd2/src/mhd2/sha256_ext_openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha256_ext_openssl.c
      type_or_value: EVP_MD_CTX
    structs: []
    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: []
  source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_EXT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: (32)
    - item_type: preproc_def
      name: MHD_SHA512_256_Context
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: void
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_EXT_ERROR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_INIT_ONE_TIME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_FINISH_RESET
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_DEINIT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SHA512_256_EXT_H
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: (32)
    - item_type: preproc_def
      name: MHD_SHA512_256_Context
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: void
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_EXT_ERROR
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_INIT_ONE_TIME
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_FINISH_RESET
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_DEINIT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*handle'
        type: MHD_SHA512_256_Context
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Sha512_256CtxExt
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
    - fields:
      - name: '*handle'
        type: MHD_SHA512_256_Context
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Sha512_256CtxExt
      pos:
        line_end: 206
        line_start: 202
        source_file: /src/mhd2/src/mhd2/sha512_256_ext.h
    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_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_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:
  - 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: 80
        line_start: 79
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT_MAX__
    - 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: mhd_SIGNED_TYPE_MAX2 (int, unsigned int)
    - item_type: preproc_def
      name: UINT_MAX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT_MAX__
    - 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: mhd_UNSIGNED_TYPE_MAX (unsigned int)
    - item_type: preproc_def
      name: LONG_MAX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __LONG_MAX__
    - 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: mhd_SIGNED_TYPE_MAX2 (long, unsigned long)
    - item_type: preproc_def
      name: ULONG_MAX
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ULONG_MAX
    - 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: mhd_UNSIGNED_TYPE_MAX (unsigned long)
    - item_type: preproc_def
      name: ULLONG_MAX
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: ULONGLONG_MAX
    - 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: mhd_UNSIGNED_TYPE_MAX (unsigned long long)
    - item_type: preproc_def
      name: INT32_MAX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT32_MAX__
    - 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_t) 0x7FFFFFFF)
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT32_MAX__
    - 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_t) 0xFFFFFFFFU)
    - item_type: preproc_def
      name: INT64_MAX
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __INT64_MAX__
    - 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_t) 0x7FFFFFFFFFFFFFFF)
    - item_type: preproc_def
      name: UINT64_MAX
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __UINT64_MAX__
    - 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_t) 0xFFFFFFFFFFFFFFFFU)
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __SIZE_MAX__
    - 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: mhd_UNSIGNED_TYPE_MAX (size_t)
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/mhd2/src/mhd2/mhd_limits.h
      type_or_value: __SSIZE_MAX__
    - 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: mhd_SIGNED_TYPE_MAX2 (ssize_t, size_t)
    - item_type: preproc_def
      name: OFF_T_MAX
      pos:
        line_end: 168
        line_start: 167
        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: 170
        line_start: 169
        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: 172
        line_start: 171
        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: 174
        line_start: 173
        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: 179
        line_start: 178
        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: 186
        line_start: 182
        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: 191
        line_start: 190
        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: 193
        line_start: 192
        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:
  - mhd_logger
  source_file: /src/mhd2/src/mhd2/daemon_logger.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: unsigned int
      - name: is_tls_handshake_completed
        type: unsigned int
      - name: is_finished
        type: unsigned int
      - name: is_failed
        type: unsigned int
      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:
  - 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_SUPPORT_POST_PARSER
      - name: MHD_SUPPORT_UPGRADE
      - name: mhd_ACTION_RESPONSE
      - name: mhd_ACTION_POST_PARSE
      - name: mhd_ACTION_UPGRADE
      - name: mhd_ACTION_ABORT
      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_UPLOAD_ACTION_RESPONSE
      - name: mhd_UPLOAD_ACTION_CONTINUE
      - name: mhd_UPLOAD_ACTION_UPGRADE
      - name: MHD_SUPPORT_UPGRADE
      - name: mhd_UPLOAD_ACTION_ABORT
      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_MACH_TIME
      - name: mhd_MCLOCK_SOUCE_GETHRTIME
        value: '0x0600'
      - name: mhd_MCLOCK_SOUCE_GET_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_CONTINUE
      - name: mhd_DCC_ACTION_FINISH
      - name: mhd_DCC_ACTION_SUSPEND
      - name: mhd_DCC_ACTION_ABORT
      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
  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
  - 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: 130
        line_start: 108
        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_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/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_funcs.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
  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_BASE_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
  - mhd_stream_is_timeout_expired
  - mhd_stream_update_activity_mark
  - mhd_stream_resumed_activity_mark
  - mhd_conn_remove_from_timeout_lists
  - 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: 257
        line_start: 256
        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: 271
        line_start: 270
        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: 282
        line_start: 281
        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: 293
        line_start: 292
        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: 304
        line_start: 303
        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: 313
        line_start: 312
        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: []
  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_RECV_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:
  - 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_NO_MEM
      - name: MHD_UPGRADE_HDR_BUILD_OTHER_ERR
      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_plain
  - 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: []
  source_file: /src/mhd2/src/mhd2/sha256_ext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_EXT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha256_ext.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_ext.h
      type_or_value: (32)
    - item_type: preproc_def
      name: MHD_SHA256_Context
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: void
    - item_type: preproc_def
      name: mhd_SHA256_HAS_EXT_ERROR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_INIT_ONE_TIME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_FINISH_RESET
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_DEINIT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MHD_SHA256_EXT_H
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: (32)
    - item_type: preproc_def
      name: MHD_SHA256_Context
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: void
    - item_type: preproc_def
      name: mhd_SHA256_HAS_EXT_ERROR
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_INIT_ONE_TIME
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_FINISH_RESET
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_HAS_DEINIT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*handle'
        type: MHD_SHA256_Context
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Sha256CtxExt
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
    - fields:
      - name: '*handle'
        type: MHD_SHA256_Context
      - name: ext_error
        type: int
      item_type: struct
      name: mhd_Sha256CtxExt
      pos:
        line_end: 206
        line_start: 202
        source_file: /src/mhd2/src/mhd2/sha256_ext.h
    typedefs: []
    union: []
- function_names:
  - mhd_MACRO_CONCAT3_
  - mhd_MACRO_CONCAT3
  - mhd_TLS_GNU_IS_SUPPORTED
  - mhd_TLS_OPEN_IS_SUPPORTED
  - mhd_TLS_MULTI_IS_SUPPORTED
  - mhd_tls_gnu_is_inited_fine
  - mhd_tls_open_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: 74
        line_start: 73
        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: 79
        line_start: 78
        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: 93
        line_start: 92
        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: 98
        line_start: 97
        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: 110
        line_start: 108
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: (mhd_TLS_GNU_ENABLED + mhd_TLS_OPEN_ENABLED)
    - item_type: preproc_def
      name: mhd_TLS_MULTI_ENABLED
      pos:
        line_end: 136
        line_start: 135
        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: 142
        line_start: 141
        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: 154
        line_start: 153
        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: 158
        line_start: 157
        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: 162
        line_start: 161
        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: 167
        line_start: 166
        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: 171
        line_start: 170
        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: 175
        line_start: 174
        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: 180
        line_start: 179
        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: 184
        line_start: 183
        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: 188
        line_start: 187
        source_file: /src/mhd2/src/mhd2/mhd_tls_choice.h
      type_or_value: OPEN
    - item_type: preproc_def
      name: mhd_TlsDaemonData
      pos:
        line_end: 226
        line_start: 225
        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: 230
        line_start: 229
        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:
  - 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: 76
        line_start: 75
        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:
  - 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
  - deinit_epoll
  - "(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)'
  - '(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_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_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_NO_SOCKET
        value: MHD_AF_NONE
      - 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_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: 119
        line_start: 118
        source_file: /src/mhd2/src/mhd2/daemon_start.c
      type_or_value: '64'
    - item_type: preproc_def
      name: TYPICAL_NOFILES_LIMIT
      pos:
        line_end: 2733
        line_start: 2732
        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_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: 821
        line_start: 820
        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: 2754
        line_start: 2753
        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: 2756
        line_start: 2755
        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: 2765
        line_start: 2764
        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: 2767
        line_start: 2766
        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:
  - mhd_MD5_init_one_time
  - mhd_MD5_update
  - mhd_MD5_finish_reset
  - mhd_MD5_deinit
  source_file: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/md5_ext_mbedtls.c
      type_or_value: mbedtls_md5_context
    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_EOF
      - name: mhd_FILE_READ_ERROR
      - name: mhd_FILE_READ_OFFSET_TOO_LARGE
      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:
  - mhd_MD5_init_one_time
  - mhd_MD5_update
  - mhd_MD5_finish_reset
  - mhd_MD5_deinit
  source_file: /src/mhd2/src/mhd2/md5_ext_gnutls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/md5_ext_gnutls.c
      type_or_value: struct hash_hd_st
    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_init_one_time
  - mhd_SHA256_reset
  - mhd_SHA256_finish_reset
  - mhd_SHA256_finish_deinit
  - mhd_SHA256_reset
  - mhd_SHA256_finish_deinit
  - mhd_SHA256_deinit
  - mhd_SHA256_has_err
  - mhd_SHA256_has_err
  source_file: /src/mhd2/src/mhd2/mhd_sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: (32)
    - item_type: preproc_def
      name: mhd_Sha256Ctx
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: mhd_Sha256CtxInt
    - item_type: preproc_def
      name: mhd_Sha256Ctx
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/mhd2/src/mhd2/mhd_sha256.h
      type_or_value: mhd_Sha256CtxExt
    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_conn_get_tls_size
  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_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_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: []
  source_file: /src/mhd2/src/mhd2/sha512_256_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_INT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha512_256_int.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_int.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_int.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_int.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_int.h
      type_or_value: (mhd_SHA512_256_HASH_SIZE_WORDS  / 2)
    - item_type: preproc_def
      name: mhd_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/mhd2/src/mhd2/sha512_256_int.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: 85
        line_start: 84
        source_file: /src/mhd2/src/mhd2/sha512_256_int.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: mhd_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mhd2/src/mhd2/sha512_256_int.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: 96
        line_start: 94
        source_file: /src/mhd2/src/mhd2/sha512_256_int.h
      type_or_value: (mhd_SHA512_256_BLOCK_SIZE_BITS / mhd_SHA512_256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_SHA512_256_HAS_FINISH
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/mhd2/src/mhd2/sha512_256_int.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_256CtxInt
      pos:
        line_end: 114
        line_start: 101
        source_file: /src/mhd2/src/mhd2/sha512_256_int.h
    typedefs: []
    union: []
- function_names:
  - mhd_SHA256_init_one_time
  - mhd_SHA256_update
  - mhd_SHA256_finish_reset
  - mhd_SHA256_deinit
  source_file: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha256_ext_mbedtls.c
      type_or_value: mbedtls_sha256_context
    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_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_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:
    - enumerators:
      - name: mhd_TLS_BACKEND_AVAIL_OK
        value: '0'
      - name: mhd_TLS_BACKEND_AVAIL_NOT_SUPPORTED
      - name: mhd_TLS_BACKEND_AVAIL_NOT_AVAILABLE
      item_type: enum
      name: mhd_TlsBackendAvailable
      pos:
        line_end: 255
        line_start: 239
        source_file: /src/mhd2/src/mhd2/mhd_tls_funcs.h
    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:
  - 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: []
  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
  - update_active_state
  - 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: []
  source_file: /src/mhd2/src/mhd2/sha256_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA256_INT_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha256_int.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_int.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_int.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_int.h
      type_or_value: (mhd_SHA256_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA256_DIGEST_SIZE
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/mhd2/src/mhd2/sha256_int.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: 78
        line_start: 77
        source_file: /src/mhd2/src/mhd2/sha256_int.h
      type_or_value: '512'
    - item_type: preproc_def
      name: mhd_SHA256_BLOCK_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/mhd2/src/mhd2/sha256_int.h
      type_or_value: (mhd_SHA256_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: mhd_SHA256_BLOCK_SIZE_WORDS
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/mhd2/src/mhd2/sha256_int.h
      type_or_value: (mhd_SHA256_BLOCK_SIZE_BITS / mhd_SHA256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: mhd_SHA256_HAS_FINISH
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/mhd2/src/mhd2/sha256_int.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_Sha256CtxInt
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/mhd2/src/mhd2/sha256_int.h
    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: []
    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/response_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_RESPONSE_OPTIONS_H
      pos:
        line_end: 10
        line_start: 9
        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: 66
        line_start: 14
        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_WRONG
        value: MHD_DAUTH_NONCE_WRONG
      - name: mhd_CHECK_NONCENC_STALE
        value: MHD_DAUTH_NONCE_STALE
      item_type: enum
      name: mhd_CheckNonceNC
      pos:
        line_end: 2179
        line_start: 2161
        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: 2545
        line_start: 2540
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    preproc_defs:
    - item_type: preproc_def
      name: mhd_MAX_DIGEST
      pos:
        line_end: 97
        line_start: 96
        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: 99
        line_start: 98
        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: 101
        line_start: 100
        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: 107
        line_start: 106
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"MD5"'
    - item_type: preproc_def
      name: mhd_SHA256_TOKEN
      pos:
        line_end: 112
        line_start: 111
        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: 117
        line_start: 116
        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: 122
        line_start: 121
        source_file: /src/mhd2/src/mhd2/auth_digest.c
      type_or_value: '"-sess"'
    - item_type: preproc_def
      name: mhd_TOKEN_AUTH
      pos:
        line_end: 127
        line_start: 126
        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: 132
        line_start: 131
        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: 138
        line_start: 137
        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: 144
        line_start: 142
        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: 153
        line_start: 152
        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: 1501
        line_start: 1500
        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: 1917
        line_start: 1916
        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: 2495
        line_start: 2494
        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: 169
        line_start: 157
        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: 192
        line_start: 174
        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: 1464
        line_start: 1442
        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: 2322
        line_start: 2318
        source_file: /src/mhd2/src/mhd2/auth_digest.c
    typedefs: []
    union:
    - fields: []
      item_type: union
      name: DigestCtx
      pos:
        line_end: 208
        line_start: 197
        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_TLS_MULTI_ROUTE_OPEN
      - name: MHD_SUPPORT_OPENSSL
      item_type: enum
      name: mhd_TlsMultiRoute
      pos:
        line_end: 79
        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_least32_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_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: []
  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/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:
  - mhd_SHA512_256_init_one_time
  - mhd_SHA512_256_update
  - mhd_SHA512_256_finish_reset
  - mhd_SHA512_256_deinit
  source_file: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_SHA512_256_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/sha512_256_ext_openssl.c
      type_or_value: EVP_MD_CTX
    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: 79
        line_start: 65
        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: 95
        line_start: 84
        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_SHUTDOWN_EARLY
      - name: mhd_CONN_CLOSE_APP_ABORTED
      - name: mhd_CONN_CLOSE_H2_CLOSE_HARD
      - name: mhd_CONN_CLOSE_CLIENT_HTTP_ERR_ABORT_CONN
      - name: mhd_CONN_CLOSE_NO_MEM_FOR_ERR_RESPONSE
      - name: mhd_CONN_CLOSE_FILE_READ_ERROR
      - name: mhd_CONN_CLOSE_NO_SYS_RESOURCES
      - name: mhd_CONN_CLOSE_ERR_REPLY_SENT
      - name: mhd_CONN_CLOSE_DAEMON_SHUTDOWN
      - name: mhd_CONN_CLOSE_INT_ERROR
      - name: MHD_SUPPORT_HTTP2
      - name: mhd_CONN_CLOSE_H2_CLOSE_SOFT
      - name: mhd_CONN_CLOSE_NO_POOL_MEM_FOR_REQUEST
      - name: mhd_CONN_CLOSE_NONCE_ERROR
      - name: mhd_CONN_CLOSE_H2_PREFACE_MISSING
      - name: mhd_CONN_CLOSE_NO_POOL_MEM_FOR_REPLY
      - name: mhd_CONN_CLOSE_APP_ERROR
      - name: mhd_CONN_CLOSE_FILE_OFFSET_TOO_LARGE
      - name: mhd_CONN_CLOSE_EXTR_EVENT_REG_FAILED
      - name: mhd_CONN_CLOSE_FILE_TOO_SHORT
      - name: mhd_CONN_CLOSE_SOCKET_ERR
      - name: mhd_CONN_CLOSE_TIMEDOUT
      - name: mhd_CONN_CLOSE_UPGRADE
      item_type: enum
      name: mhd_ConnCloseReason
      pos:
        line_end: 339
        line_start: 194
        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: 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: 551
        line_start: 544
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    - fields:
      - name: sk
        type: struct mhd_ConnSocket
      - name: extr_event
        type: struct mhd_ConnExtrEvents
      - name: in_proc_ready
        type: bool
      - 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: last_activity
        type: uint_fast64_t
      - name: connection_timeout_ms
        type: uint_fast64_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: 832
        line_start: 582
        source_file: /src/mhd2/src/mhd2/mhd_connection.h
    typedefs: []
    union: []
- 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_MD5_init_one_time
  - mhd_MD5_update
  - mhd_MD5_finish_reset
  - mhd_MD5_deinit
  source_file: /src/mhd2/src/mhd2/md5_ext_openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MHD_MD5_Context
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mhd2/src/mhd2/md5_ext_openssl.c
      type_or_value: EVP_MD_CTX
    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: 232
        line_start: 231
        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: 234
        line_start: 233
        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: 243
        line_start: 242
        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: 271
        line_start: 270
        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_dbg_print_fd_mon_req
  - dbg_print_fd_state_update
  - dbg_print_fd_state_update
  - log_itc_broken
  - log_listen_broken
  - 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)"
  - "(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)'
  - '(1) bool

    process_all_events_and_data (struct MHD_Daemon *restrict d)'
  - 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: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MHD_HTTP_VERSION_IS_SUPPORTED
  - 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: 73
        line_start: 72
        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: []
  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/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_
  - internal_add_connection
  - new_connections_list_process_
  - MHD_daemon_add_connection
  - mhd_daemon_accept_connection
  - mhd_conn_remove_from_daemon
  - mhd_conn_close_final
  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_HEADERS_NO_ENDSTREAM
      - name: mhd_H2_REQ_PRBLM_HOST_HDR_WRONG_EXTRA
      - name: mhd_H2_REQ_PRBLM_FORBIDDEN_HEADER
      - name: mhd_H2_REQ_PRBLM_CNTNT_LEN_WRONG
      - 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_HEADERS_TOO_LARGE
      - name: mhd_H2_REQ_PRBLM_INT_ERROR
      - name: mhd_H2_REQ_PRBLM_PSEUDOHDR_EXTRA
      - name: mhd_H2_REQ_PRBLM_FLOW_CONTROL
      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_CONN_BROKEN
        value: mhd_H2_STNGS_PROC_STNGS_ERR
      - name: mhd_H2_PROC_IN_FRAME_BLOCKED_BY_OUT
        value: mhd_H2_STNGS_PROC_NO_OUT_BUFF
      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_deinit
  - 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: 386
        line_start: 383
        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: 391
        line_start: 387
        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_TRAILERS_INCOMPLETE
      - name: mhd_H2_RPL_STAGE_END_STREAM
      - name: mhd_H2_RPL_STAGE_HEADERS_COMPLETE
      - 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: 3993
        line_start: 3992
        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: 4072
        line_start: 4071
        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: 4078
        line_start: 4077
        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: 3910
        line_start: 3900
        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: 617
        line_start: 616
        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: 763
        line_start: 762
        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: 765
        line_start: 764
        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: 1107
        line_start: 1106
        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
  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: 65
        line_start: 64
        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: 80
        line_start: 79
        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: 90
        line_start: 89
        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: 96
        line_start: 95
        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: 103
        line_start: 102
        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: 117
        line_start: 114
        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: 120
        line_start: 119
        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: 127
        line_start: 126
        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: 136
        line_start: 135
        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: 139
        line_start: 138
        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: 143
        line_start: 142
        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: 146
        line_start: 145
        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: 152
        line_start: 151
        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: 154
        line_start: 153
        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: 158
        line_start: 157
        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: 164
        line_start: 163
        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: 176
        line_start: 175
        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: 274
        line_start: 273
        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: 299
        line_start: 298
        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: 305
        line_start: 304
        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: 310
        line_start: 309
        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: 313
        line_start: 312
        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: 315
        line_start: 314
        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: 320
        line_start: 319
        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: 324
        line_start: 323
        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: 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: 330
        line_start: 329
        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: 332
        line_start: 331
        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: 336
        line_start: 335
        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: 342
        line_start: 341
        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: 344
        line_start: 343
        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: 348
        line_start: 347
        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: 350
        line_start: 349
        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: 360
        line_start: 359
        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: 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: 366
        line_start: 365
        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: 368
        line_start: 367
        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: 373
        line_start: 372
        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: 385
        line_start: 384
        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: 386
        line_start: 385
        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: 388
        line_start: 387
        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: 389
        line_start: 388
        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: 391
        line_start: 390
        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: 392
        line_start: 391
        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: 394
        line_start: 393
        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: 408
        line_start: 407
        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: 410
        line_start: 409
        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: 414
        line_start: 413
        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: 420
        line_start: 419
        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: 426
        line_start: 425
        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: 435
        line_start: 434
        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: 480
        line_start: 479
        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: 482
        line_start: 481
        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: 484
        line_start: 483
        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: 492
        line_start: 491
        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: 498
        line_start: 497
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: RESTRICT
      pos:
        line_end: 503
        line_start: 502
        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: 510
        line_start: 509
        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: 516
        line_start: 515
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NDEBUG
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: _DEBUG
      pos:
        line_end: 526
        line_start: 525
        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: 533
        line_start: 532
        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: 535
        line_start: 534
        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: 551
        line_start: 550
        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: 553
        line_start: 552
        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: 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_static_inline
      pos:
        line_end: 564
        line_start: 563
        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: 569
        line_start: 568
        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: 572
        line_start: 571
        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: 599
        line_start: 597
        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: 601
        line_start: 599
        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: 610
        line_start: 609
        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: 619
        line_start: 618
        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: 640
        line_start: 639
        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: 643
        line_start: 642
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: MHD_NORETURN_
      pos:
        line_end: 649
        line_start: 648
        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: 651
        line_start: 650
        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: 657
        line_start: 656
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: _Bool
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 659
        line_start: 658
        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: 663
        line_start: 662
        source_file: /src/mhd2/src/incl_priv/mhd_sys_options.h
      type_or_value: '1'
    - item_type: preproc_def
      name: alignof
      pos:
        line_end: 668
        line_start: 667
        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: 670
        line_start: 669
        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: '0x02000300'
    - 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: 181
        line_start: 180
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: '""'
    - item_type: preproc_def
      name: AIF_W32_VARDECORPREFIX
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/mhd2/src/incl_priv/autoinit_funcs.h
      type_or_value: _
    - item_type: preproc_def
      name: AIF_W32_VARDECORPREFIXSTR
      pos:
        line_end: 185
        line_start: 184
        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: 201
        line_start: 200
        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: 204
        line_start: 203
        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: 207
        line_start: 206
        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: 212
        line_start: 211
        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: 214
        line_start: 213
        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: 235
        line_start: 234
        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: 238
        line_start: 237
        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: 288
        line_start: 287
        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: 292
        line_start: 291
        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: 296
        line_start: 295
        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: 428
        line_start: 427
        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: 434
        line_start: 433
        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: 436
        line_start: 435
        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: 439
        line_start: 438
        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: 441
        line_start: 440
        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: 474
        line_start: 473
        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: 476
        line_start: 475
        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: 483
        line_start: 480
        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: 521
        line_start: 520
        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: 528
        line_start: 527
        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: 535
        line_start: 534
        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: 550
        line_start: 549
        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: 553
        line_start: 552
        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: 563
        line_start: 562
        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: []
